about summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-08-30 18:30:32 +0200
committerVladimír Čunát <vcunat@gmail.com>2018-08-30 18:30:32 +0200
commit3f80b81ece62fc7d09240ab012ef049208e56cbd (patch)
treed76827cc93abe2cc27a01570bbc5274484933483 /pkgs/development/libraries
parent4b7c52e010b0aba3bada8f2bce85818475c6dfb1 (diff)
parent2a391742555c2fea413289f31f1308d12ebdb454 (diff)
Merge branch 'staging' into #38486
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/CoinMP/default.nix2
-rw-r--r--pkgs/development/libraries/LASzip/default.nix4
-rw-r--r--pkgs/development/libraries/SDL/default.nix44
-rw-r--r--pkgs/development/libraries/SDL2/default.nix60
-rw-r--r--pkgs/development/libraries/SDL2_gfx/default.nix3
-rw-r--r--pkgs/development/libraries/SDL2_image/default.nix5
-rw-r--r--pkgs/development/libraries/SDL2_mixer/default.nix5
-rw-r--r--pkgs/development/libraries/SDL2_net/default.nix4
-rw-r--r--pkgs/development/libraries/SDL2_ttf/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_gfx/default.nix6
-rw-r--r--pkgs/development/libraries/SDL_image/default.nix3
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix1
-rw-r--r--pkgs/development/libraries/SDL_sound/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_ttf/default.nix2
-rw-r--r--pkgs/development/libraries/Xaw3d/default.nix23
-rw-r--r--pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch152
-rw-r--r--pkgs/development/libraries/a52dec/A01-thread-safe.patch462
-rw-r--r--pkgs/development/libraries/a52dec/A02-imdct-shutup.patch11
-rw-r--r--pkgs/development/libraries/a52dec/A03-automake.patch12
-rw-r--r--pkgs/development/libraries/a52dec/default.nix15
-rw-r--r--pkgs/development/libraries/aacskeys/default.nix5
-rw-r--r--pkgs/development/libraries/aalib/default.nix3
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix8
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/acl/default.nix2
-rw-r--r--pkgs/development/libraries/adns/default.nix2
-rw-r--r--pkgs/development/libraries/afflib/default.nix4
-rw-r--r--pkgs/development/libraries/agda/agda-stdlib/default.nix5
-rw-r--r--pkgs/development/libraries/agda/pretty/default.nix1
-rw-r--r--pkgs/development/libraries/agg/default.nix2
-rw-r--r--pkgs/development/libraries/alembic/default.nix4
-rw-r--r--pkgs/development/libraries/alkimia/default.nix31
-rw-r--r--pkgs/development/libraries/allegro/5.nix2
-rw-r--r--pkgs/development/libraries/allegro/default.nix2
-rw-r--r--pkgs/development/libraries/amtk/default.nix40
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix10
-rw-r--r--pkgs/development/libraries/appstream/default.nix21
-rw-r--r--pkgs/development/libraries/appstream/qt.nix2
-rw-r--r--pkgs/development/libraries/apr-util/default.nix5
-rw-r--r--pkgs/development/libraries/apr/default.nix5
-rw-r--r--pkgs/development/libraries/aqbanking/default.nix9
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix30
-rw-r--r--pkgs/development/libraries/aqbanking/libchipcard.nix7
-rw-r--r--pkgs/development/libraries/aqbanking/sources.nix12
-rw-r--r--pkgs/development/libraries/arb/default.nix18
-rw-r--r--pkgs/development/libraries/arb/git.nix4
-rw-r--r--pkgs/development/libraries/arguments/default.nix32
-rwxr-xr-xpkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix65
-rwxr-xr-xpkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix43
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix44
-rw-r--r--pkgs/development/libraries/asio/1.10.nix6
-rw-r--r--pkgs/development/libraries/asio/1.12.nix6
-rw-r--r--pkgs/development/libraries/asio/default.nix21
-rw-r--r--pkgs/development/libraries/asio/generic.nix25
-rw-r--r--pkgs/development/libraries/aspell/dictionaries.nix94
-rw-r--r--pkgs/development/libraries/assimp/default.nix2
-rw-r--r--pkgs/development/libraries/at-spi2-atk/default.nix48
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix53
-rw-r--r--pkgs/development/libraries/atk/default.nix7
-rw-r--r--pkgs/development/libraries/attr/default.nix6
-rw-r--r--pkgs/development/libraries/aubio/default.nix2
-rw-r--r--pkgs/development/libraries/audio/jamomacore/default.nix1
-rw-r--r--pkgs/development/libraries/audio/libbass/default.nix4
-rw-r--r--pkgs/development/libraries/audio/libmysofa/default.nix26
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix6
-rw-r--r--pkgs/development/libraries/audio/rtaudio/default.nix6
-rw-r--r--pkgs/development/libraries/audio/rtmidi/default.nix2
-rw-r--r--pkgs/development/libraries/audio/sratom/default.nix6
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix2
-rw-r--r--pkgs/development/libraries/audio/vamp/default.nix13
-rw-r--r--pkgs/development/libraries/audio/zita-convolver/default.nix13
-rw-r--r--pkgs/development/libraries/audiofile/default.nix2
-rw-r--r--pkgs/development/libraries/avahi/default.nix6
-rw-r--r--pkgs/development/libraries/avro-c/default.nix2
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix4
-rw-r--r--pkgs/development/libraries/babl/default.nix6
-rw-r--r--pkgs/development/libraries/bamf/default.nix69
-rw-r--r--pkgs/development/libraries/beecrypt/default.nix5
-rw-r--r--pkgs/development/libraries/belcard/default.nix2
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix2
-rw-r--r--pkgs/development/libraries/belr/default.nix2
-rw-r--r--pkgs/development/libraries/blitz/default.nix2
-rw-r--r--pkgs/development/libraries/bobcat/default.nix4
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix9
-rw-r--r--pkgs/development/libraries/boost/1.66.nix2
-rw-r--r--pkgs/development/libraries/boost/1.67.nix17
-rw-r--r--pkgs/development/libraries/boost/1.68.nix11
-rw-r--r--pkgs/development/libraries/boost/darwin-no-system-python.patch45
-rw-r--r--pkgs/development/libraries/boost/generic.nix42
-rw-r--r--pkgs/development/libraries/botan/2.0.nix4
-rw-r--r--pkgs/development/libraries/buddy/default.nix2
-rw-r--r--pkgs/development/libraries/bulletml/default.nix73
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix2
-rw-r--r--pkgs/development/libraries/c-ares/default.nix23
-rw-r--r--pkgs/development/libraries/c-blosc/default.nix6
-rw-r--r--pkgs/development/libraries/caf/default.nix14
-rw-r--r--pkgs/development/libraries/cairo/default.nix31
-rw-r--r--pkgs/development/libraries/cairomm/default.nix4
-rw-r--r--pkgs/development/libraries/capstone/default.nix6
-rw-r--r--pkgs/development/libraries/cctz/default.nix27
-rw-r--r--pkgs/development/libraries/cddlib/default.nix38
-rw-r--r--pkgs/development/libraries/celt/0.5.1.nix7
-rw-r--r--pkgs/development/libraries/celt/generic.nix5
-rw-r--r--pkgs/development/libraries/ceres-solver/default.nix12
-rw-r--r--pkgs/development/libraries/cfitsio/darwin-curl-config.patch25
-rw-r--r--pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch21
-rw-r--r--pkgs/development/libraries/cfitsio/default.nix6
-rw-r--r--pkgs/development/libraries/check/default.nix4
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix6
-rw-r--r--pkgs/development/libraries/cl/default.nix2
-rw-r--r--pkgs/development/libraries/classads/default.nix6
-rw-r--r--pkgs/development/libraries/clearsilver/default.nix9
-rw-r--r--pkgs/development/libraries/cloog-ppl/default.nix6
-rw-r--r--pkgs/development/libraries/clucene-core/2.x.nix2
-rw-r--r--pkgs/development/libraries/clutter-gst/default.nix2
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix9
-rw-r--r--pkgs/development/libraries/clutter/default.nix2
-rw-r--r--pkgs/development/libraries/cmark/default.nix4
-rw-r--r--pkgs/development/libraries/cmrt/default.nix24
-rw-r--r--pkgs/development/libraries/codec2/default.nix25
-rw-r--r--pkgs/development/libraries/cogl/default.nix12
-rw-r--r--pkgs/development/libraries/cpp-hocon/default.nix4
-rw-r--r--pkgs/development/libraries/cpp-netlib/default.nix2
-rw-r--r--pkgs/development/libraries/cppcms/default.nix8
-rw-r--r--pkgs/development/libraries/cppdb/default.nix4
-rw-r--r--pkgs/development/libraries/cppunit/default.nix7
-rw-r--r--pkgs/development/libraries/cracklib/default.nix5
-rw-r--r--pkgs/development/libraries/crypto++/default.nix2
-rw-r--r--pkgs/development/libraries/ctpl/default.nix2
-rw-r--r--pkgs/development/libraries/ctpp2/default.nix6
-rw-r--r--pkgs/development/libraries/curlcpp/default.nix4
-rw-r--r--pkgs/development/libraries/cutelyst/default.nix45
-rw-r--r--pkgs/development/libraries/cwiid/default.nix2
-rw-r--r--pkgs/development/libraries/cxxtools/default.nix4
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix3
-rw-r--r--pkgs/development/libraries/db/generic.nix6
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix2
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix6
-rw-r--r--pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix2
-rw-r--r--pkgs/development/libraries/dbus-sharp/default.nix2
-rw-r--r--pkgs/development/libraries/dbus/default.nix6
-rw-r--r--pkgs/development/libraries/dbxml/cxx11.patch59
-rw-r--r--pkgs/development/libraries/dbxml/default.nix38
-rw-r--r--pkgs/development/libraries/dbxml/incorrect-optimization.patch34
-rw-r--r--pkgs/development/libraries/dleyna-connector-dbus/default.nix9
-rw-r--r--pkgs/development/libraries/dleyna-core/default.nix7
-rw-r--r--pkgs/development/libraries/dleyna-renderer/default.nix9
-rw-r--r--pkgs/development/libraries/dleyna-server/default.nix9
-rw-r--r--pkgs/development/libraries/dlib/default.nix11
-rw-r--r--pkgs/development/libraries/dyncall/default.nix36
-rw-r--r--pkgs/development/libraries/easyloggingpp/default.nix4
-rw-r--r--pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--pkgs/development/libraries/eclib/default.nix50
-rw-r--r--pkgs/development/libraries/editline/default.nix24
-rw-r--r--pkgs/development/libraries/eigen/2.0.nix2
-rw-r--r--pkgs/development/libraries/eigen/3.3.nix13
-rw-r--r--pkgs/development/libraries/eigen/default.nix10
-rw-r--r--pkgs/development/libraries/elementary-cmake-modules/default.nix5
-rw-r--r--pkgs/development/libraries/embree/2.x.nix27
-rw-r--r--pkgs/development/libraries/enchant/2.x.nix2
-rw-r--r--pkgs/development/libraries/enchant/default.nix9
-rw-r--r--pkgs/development/libraries/enet/default.nix2
-rw-r--r--pkgs/development/libraries/epoxy/default.nix13
-rw-r--r--pkgs/development/libraries/epoxy/libgl-path.patch35
-rw-r--r--pkgs/development/libraries/eventlog/default.nix2
-rw-r--r--pkgs/development/libraries/exempi/default.nix2
-rw-r--r--pkgs/development/libraries/exiv2/default.nix45
-rw-r--r--pkgs/development/libraries/expat/default.nix6
-rw-r--r--pkgs/development/libraries/faac/default.nix2
-rw-r--r--pkgs/development/libraries/farbfeld/default.nix12
-rw-r--r--pkgs/development/libraries/fastjson/default.nix6
-rw-r--r--pkgs/development/libraries/fcppt/default.nix2
-rw-r--r--pkgs/development/libraries/fflas-ffpack/1.nix6
-rw-r--r--pkgs/development/libraries/fflas-ffpack/default.nix44
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix57
-rw-r--r--pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix22
-rw-r--r--pkgs/development/libraries/ffmpeg-sixel/default.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/3.4.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix12
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix60
-rw-r--r--pkgs/development/libraries/ffmpegthumbnailer/default.nix2
-rw-r--r--pkgs/development/libraries/fftw/default.nix13
-rw-r--r--pkgs/development/libraries/filter-audio/default.nix2
-rw-r--r--pkgs/development/libraries/flann/default.nix10
-rw-r--r--pkgs/development/libraries/flatpak/default.nix75
-rw-r--r--pkgs/development/libraries/flatpak/fix-test-paths.patch157
-rw-r--r--pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch13
-rw-r--r--pkgs/development/libraries/flatpak/use-flatpak-from-path.patch48
-rw-r--r--pkgs/development/libraries/flint/default.nix53
-rw-r--r--pkgs/development/libraries/fltk/default.nix56
-rw-r--r--pkgs/development/libraries/folly/default.nix6
-rw-r--r--pkgs/development/libraries/fontconfig-ultimate/default.nix7
-rw-r--r--pkgs/development/libraries/fontconfig/2.10.nix12
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix34
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-cache.nix2
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix4
-rw-r--r--pkgs/development/libraries/fplll/default.nix4
-rw-r--r--pkgs/development/libraries/frame/default.nix2
-rw-r--r--pkgs/development/libraries/freeimage/default.nix6
-rw-r--r--pkgs/development/libraries/freetds/default.nix10
-rw-r--r--pkgs/development/libraries/freetype/cve-2017-8105.patch27
-rw-r--r--pkgs/development/libraries/freetype/cve-2017-8287.patch22
-rw-r--r--pkgs/development/libraries/freetype/default.nix40
-rw-r--r--pkgs/development/libraries/freetype/pcf-config-long-family-names.patch553
-rw-r--r--pkgs/development/libraries/freetype/pcf-introduce-driver.patch68
-rw-r--r--pkgs/development/libraries/fribidi/default.nix37
-rw-r--r--pkgs/development/libraries/fstrm/default.nix4
-rw-r--r--pkgs/development/libraries/funambol/default.nix6
-rw-r--r--pkgs/development/libraries/gamin/default.nix7
-rw-r--r--pkgs/development/libraries/gbenchmark/default.nix2
-rw-r--r--pkgs/development/libraries/gcab/default.nix5
-rw-r--r--pkgs/development/libraries/gcc/libgcc/default.nix152
-rw-r--r--pkgs/development/libraries/gcc/libstdc++/5.nix (renamed from pkgs/development/libraries/libstdc++5/default.nix)0
-rw-r--r--pkgs/development/libraries/gcc/libstdc++/no-sys-dirs.patch (renamed from pkgs/development/libraries/libstdc++5/no-sys-dirs.patch)0
-rw-r--r--pkgs/development/libraries/gcc/libstdc++/struct-ucontext.patch (renamed from pkgs/development/libraries/libstdc++5/struct-ucontext.patch)0
-rw-r--r--pkgs/development/libraries/gd/default.nix2
-rw-r--r--pkgs/development/libraries/gdal/default.nix17
-rw-r--r--pkgs/development/libraries/gdal/gdal-1_11.nix12
-rw-r--r--pkgs/development/libraries/gdata-sharp/default.nix2
-rw-r--r--pkgs/development/libraries/gdbm/default.nix6
-rw-r--r--pkgs/development/libraries/gdcm/default.nix9
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix102
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch13
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch18
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix14
-rw-r--r--pkgs/development/libraries/gegl/4.0.nix38
-rw-r--r--pkgs/development/libraries/gegl/default.nix14
-rw-r--r--pkgs/development/libraries/geis/default.nix4
-rw-r--r--pkgs/development/libraries/geoclue/2.0.nix53
-rw-r--r--pkgs/development/libraries/geoclue/default.nix67
-rw-r--r--pkgs/development/libraries/geos/default.nix8
-rw-r--r--pkgs/development/libraries/getdns/default.nix6
-rw-r--r--pkgs/development/libraries/gettext/default.nix45
-rw-r--r--pkgs/development/libraries/gettext/gettext-setup-hook.sh12
-rw-r--r--pkgs/development/libraries/gf2x/default.nix33
-rw-r--r--pkgs/development/libraries/gflags/default.nix19
-rw-r--r--pkgs/development/libraries/giflib/4.1.nix6
-rw-r--r--pkgs/development/libraries/gio-sharp/default.nix2
-rw-r--r--pkgs/development/libraries/git2/0.27.nix (renamed from pkgs/development/libraries/git2/0.25.nix)6
-rw-r--r--pkgs/development/libraries/git2/default.nix6
-rw-r--r--pkgs/development/libraries/givaro/default.nix14
-rw-r--r--pkgs/development/libraries/glbinding/default.nix22
-rw-r--r--pkgs/development/libraries/gle/default.nix2
-rw-r--r--pkgs/development/libraries/glew/1.10.nix5
-rw-r--r--pkgs/development/libraries/glew/default.nix4
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix3
-rw-r--r--pkgs/development/libraries/glib/default.nix37
-rw-r--r--pkgs/development/libraries/glib/gobject_init_on_demand.patch87
-rw-r--r--pkgs/development/libraries/glib/quark_init_on_demand.patch33
-rw-r--r--pkgs/development/libraries/glibc/2.26-115to131.diff.gzbin20022 -> 0 bytes
-rw-r--r--pkgs/development/libraries/glibc/2.26-75.patch.gzbin289084 -> 0 bytes
-rw-r--r--pkgs/development/libraries/glibc/2.26-75to115.diff.gzbin32865 -> 0 bytes
-rw-r--r--pkgs/development/libraries/glibc/2.27.nix101
-rw-r--r--pkgs/development/libraries/glibc/common-2.27.nix216
-rw-r--r--pkgs/development/libraries/glibc/common.nix87
-rw-r--r--pkgs/development/libraries/glibc/default.nix13
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch46
-rw-r--r--pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch38
-rw-r--r--pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch38
-rw-r--r--pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch118
-rw-r--r--pkgs/development/libraries/glibc/nix-locale-archive.patch122
-rw-r--r--pkgs/development/libraries/glibmm/default.nix19
-rw-r--r--pkgs/development/libraries/globalarrays/default.nix42
-rw-r--r--pkgs/development/libraries/glog/default.nix5
-rw-r--r--pkgs/development/libraries/gloox/default.nix6
-rw-r--r--pkgs/development/libraries/glpk/default.nix45
-rw-r--r--pkgs/development/libraries/gmime/2.nix13
-rw-r--r--pkgs/development/libraries/gmime/3.nix15
-rw-r--r--pkgs/development/libraries/gmp/4.3.2.nix8
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix15
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix20
-rw-r--r--pkgs/development/libraries/gnet/default.nix1
-rw-r--r--pkgs/development/libraries/gnu-config/default.nix6
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix6
-rw-r--r--pkgs/development/libraries/gnutls-kdh/generic.nix4
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix6
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix7
-rw-r--r--pkgs/development/libraries/godot_headers/default.nix23
-rw-r--r--pkgs/development/libraries/goffice/default.nix2
-rw-r--r--pkgs/development/libraries/goocanvas/2.x.nix4
-rw-r--r--pkgs/development/libraries/google-gflags/default.nix4
-rw-r--r--pkgs/development/libraries/gperftools/default.nix8
-rw-r--r--pkgs/development/libraries/gpgme/default.nix10
-rw-r--r--pkgs/development/libraries/granite/default.nix18
-rw-r--r--pkgs/development/libraries/grantlee/5/default.nix2
-rw-r--r--pkgs/development/libraries/grantlee/default.nix4
-rw-r--r--pkgs/development/libraries/grib-api/default.nix4
-rw-r--r--pkgs/development/libraries/grpc/default.nix13
-rw-r--r--pkgs/development/libraries/gsasl/default.nix4
-rw-r--r--pkgs/development/libraries/gsl/default.nix6
-rw-r--r--pkgs/development/libraries/gsm/default.nix4
-rw-r--r--pkgs/development/libraries/gspell/default.nix35
-rw-r--r--pkgs/development/libraries/gssdp/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix33
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix55
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix15
-rw-r--r--pkgs/development/libraries/gstreamer/default.nix3
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix21
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix9
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix14
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix27
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix12
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix2
-rw-r--r--pkgs/development/libraries/gtdialog/default.nix2
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix18
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix26
-rw-r--r--pkgs/development/libraries/gtkd/default.nix44
-rw-r--r--pkgs/development/libraries/gtksourceview/3.x.nix4
-rw-r--r--pkgs/development/libraries/gtkspell/3.nix9
-rw-r--r--pkgs/development/libraries/gts/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp-dlna/default.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix16
-rw-r--r--pkgs/development/libraries/hamlib/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix36
-rw-r--r--pkgs/development/libraries/hspell/default.nix3
-rw-r--r--pkgs/development/libraries/http-parser/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/default.nix4
-rw-r--r--pkgs/development/libraries/hunspell/dictionaries.nix61
-rw-r--r--pkgs/development/libraries/hwloc/default.nix4
-rw-r--r--pkgs/development/libraries/hyena/default.nix1
-rw-r--r--pkgs/development/libraries/icu/base.nix10
-rw-r--r--pkgs/development/libraries/id3lib/default.nix4
-rw-r--r--pkgs/development/libraries/ignition-transport/generic.nix3
-rw-r--r--pkgs/development/libraries/ijs/default.nix2
-rw-r--r--pkgs/development/libraries/iksemel/default.nix25
-rw-r--r--pkgs/development/libraries/ilixi/default.nix9
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix13
-rw-r--r--pkgs/development/libraries/iml/default.nix16
-rw-r--r--pkgs/development/libraries/imlib/default.nix9
-rw-r--r--pkgs/development/libraries/indicator-application/gtk3.nix50
-rw-r--r--pkgs/development/libraries/ip2location-c/default.nix2
-rw-r--r--pkgs/development/libraries/isl/0.11.1.nix2
-rw-r--r--pkgs/development/libraries/iso-codes/default.nix9
-rw-r--r--pkgs/development/libraries/itk/default.nix4
-rw-r--r--pkgs/development/libraries/jasper/default.nix13
-rw-r--r--pkgs/development/libraries/java/commons/compress/default.nix4
-rw-r--r--pkgs/development/libraries/java/dbus-java/default.nix2
-rw-r--r--pkgs/development/libraries/java/geoipjava/default.nix2
-rw-r--r--pkgs/development/libraries/java/hsqldb/default.nix4
-rw-r--r--pkgs/development/libraries/java/libmatthew-java/default.nix2
-rw-r--r--pkgs/development/libraries/java/lombok/default.nix4
-rw-r--r--pkgs/development/libraries/java/smack/default.nix1
-rw-r--r--pkgs/development/libraries/jbig2dec/default.nix9
-rw-r--r--pkgs/development/libraries/jbigkit/default.nix2
-rw-r--r--pkgs/development/libraries/jemalloc/common.nix35
-rw-r--r--pkgs/development/libraries/jemalloc/default.nix36
-rw-r--r--pkgs/development/libraries/jemalloc/jemalloc450.nix6
-rw-r--r--pkgs/development/libraries/json-glib/default.nix26
-rw-r--r--pkgs/development/libraries/jsonrpc-glib/default.nix40
-rw-r--r--pkgs/development/libraries/kdb/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix3
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch14
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcoreaddons.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdeclarative.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdewebkit.nix11
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdoctools/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kglobalaccel.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/kholidays.nix16
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktexteditor.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/purpose.nix14
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix624
-rw-r--r--pkgs/development/libraries/kerberos/heimdal.nix14
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix10
-rw-r--r--pkgs/development/libraries/keybinder/default.nix8
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix2
-rw-r--r--pkgs/development/libraries/kirigami/default.nix47
-rw-r--r--pkgs/development/libraries/kpmcore/default.nix12
-rw-r--r--pkgs/development/libraries/kproperty/default.nix9
-rw-r--r--pkgs/development/libraries/kreport/default.nix6
-rw-r--r--pkgs/development/libraries/languagemachines/frog.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/frogdata.nix4
-rw-r--r--pkgs/development/libraries/languagemachines/libfolia.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/mbt.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/release-info/LanguageMachines-frogdata.json2
-rw-r--r--pkgs/development/libraries/languagemachines/ticcutils.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/timbl.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/timblserver.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/ucto.nix2
-rw-r--r--pkgs/development/libraries/languagemachines/uctodata.nix5
-rw-r--r--pkgs/development/libraries/lasso/default.nix4
-rw-r--r--pkgs/development/libraries/lcms/default.nix2
-rw-r--r--pkgs/development/libraries/ldb/default.nix9
-rw-r--r--pkgs/development/libraries/ldns/default.nix8
-rw-r--r--pkgs/development/libraries/leatherman/default.nix4
-rw-r--r--pkgs/development/libraries/lensfun/default.nix12
-rw-r--r--pkgs/development/libraries/leveldb/default.nix7
-rw-r--r--pkgs/development/libraries/libLAS/default.nix20
-rw-r--r--pkgs/development/libraries/libabw/default.nix2
-rw-r--r--pkgs/development/libraries/libagar/libagar_test.nix2
-rw-r--r--pkgs/development/libraries/libantlr3c/default.nix4
-rw-r--r--pkgs/development/libraries/libaom/default.nix19
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libarchive/default.nix12
-rw-r--r--pkgs/development/libraries/libassuan/default.nix3
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.nix9
-rw-r--r--pkgs/development/libraries/libatomic_ops/riscv.patch40
-rw-r--r--pkgs/development/libraries/libaudclient/default.nix2
-rw-r--r--pkgs/development/libraries/libav/default.nix54
-rw-r--r--pkgs/development/libraries/libb2/default.nix25
-rw-r--r--pkgs/development/libraries/libbdplus/default.nix4
-rw-r--r--pkgs/development/libraries/libbfd/default.nix10
-rw-r--r--pkgs/development/libraries/libbladeRF/default.nix21
-rw-r--r--pkgs/development/libraries/libblockdev/default.nix39
-rw-r--r--pkgs/development/libraries/libblocksruntime/default.nix2
-rw-r--r--pkgs/development/libraries/libbluedevil/default.nix1
-rw-r--r--pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch37
-rw-r--r--pkgs/development/libraries/libbsd/cdefs.patch222
-rw-r--r--pkgs/development/libraries/libbsd/default.nix13
-rw-r--r--pkgs/development/libraries/libbsd/features.patch26
-rw-r--r--pkgs/development/libraries/libbsd/non-glibc.patch74
-rw-r--r--pkgs/development/libraries/libbson/default.nix4
-rw-r--r--pkgs/development/libraries/libbytesize/default.nix31
-rw-r--r--pkgs/development/libraries/libcanberra/default.nix26
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix1
-rw-r--r--pkgs/development/libraries/libcddb/default.nix2
-rw-r--r--pkgs/development/libraries/libcdio/default.nix7
-rw-r--r--pkgs/development/libraries/libcdr/default.nix6
-rw-r--r--pkgs/development/libraries/libcef/default.nix45
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix4
-rw-r--r--pkgs/development/libraries/libchop/default.nix4
-rw-r--r--pkgs/development/libraries/libclthreads/default.nix2
-rw-r--r--pkgs/development/libraries/libclxclient/default.nix2
-rw-r--r--pkgs/development/libraries/libcmis/default.nix2
-rw-r--r--pkgs/development/libraries/libcollectdclient/default.nix7
-rw-r--r--pkgs/development/libraries/libcommuni/default.nix9
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix6
-rw-r--r--pkgs/development/libraries/libcue/default.nix6
-rw-r--r--pkgs/development/libraries/libcutl/default.nix2
-rw-r--r--pkgs/development/libraries/libdap/default.nix2
-rw-r--r--pkgs/development/libraries/libdazzle/default.nix6
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/default.nix4
-rw-r--r--pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix2
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix2
-rw-r--r--pkgs/development/libraries/libde265/default.nix24
-rw-r--r--pkgs/development/libraries/libdevil/default.nix7
-rw-r--r--pkgs/development/libraries/libdigidoc/default.nix18
-rw-r--r--pkgs/development/libraries/libdigidocpp/default.nix24
-rw-r--r--pkgs/development/libraries/libdivecomputer/default.nix2
-rw-r--r--pkgs/development/libraries/libdmtx/default.nix1
-rw-r--r--pkgs/development/libraries/libdrm/default.nix20
-rw-r--r--pkgs/development/libraries/libdvdcss/default.nix4
-rw-r--r--pkgs/development/libraries/libdvdnav/4.2.1.nix5
-rw-r--r--pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch137
-rw-r--r--pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch21
-rw-r--r--pkgs/development/libraries/libdvdnav/default.nix2
-rw-r--r--pkgs/development/libraries/libdwarf/default.nix5
-rw-r--r--pkgs/development/libraries/libe-book/default.nix12
-rw-r--r--pkgs/development/libraries/libeatmydata/default.nix2
-rw-r--r--pkgs/development/libraries/libebml/default.nix24
-rw-r--r--pkgs/development/libraries/libedit/default.nix8
-rw-r--r--pkgs/development/libraries/libee/default.nix1
-rw-r--r--pkgs/development/libraries/libesmtp/default.nix18
-rw-r--r--pkgs/development/libraries/libetpan/default.nix4
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libevent/default.nix19
-rw-r--r--pkgs/development/libraries/libewf/default.nix2
-rw-r--r--pkgs/development/libraries/libextractor/default.nix14
-rw-r--r--pkgs/development/libraries/libexttextcat/default.nix2
-rw-r--r--pkgs/development/libraries/libfakekey/default.nix2
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix12
-rw-r--r--pkgs/development/libraries/libffi/default.nix15
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfive/default.nix30
-rw-r--r--pkgs/development/libraries/libfm/default.nix15
-rw-r--r--pkgs/development/libraries/libftdi/1.x.nix6
-rw-r--r--pkgs/development/libraries/libftdi/default.nix2
-rw-r--r--pkgs/development/libraries/libgap/default.nix13
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix9
-rw-r--r--pkgs/development/libraries/libgcrypt/fix-jent-locking.patch29
-rw-r--r--pkgs/development/libraries/libgdiplus/default.nix8
-rw-r--r--pkgs/development/libraries/libgeotiff/default.nix2
-rw-r--r--pkgs/development/libraries/libgig/default.nix2
-rw-r--r--pkgs/development/libraries/libgksu/default.nix2
-rw-r--r--pkgs/development/libraries/libglvnd/default.nix41
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix4
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix24
-rw-r--r--pkgs/development/libraries/libgpg-error/riscv.patch54
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix8
-rw-r--r--pkgs/development/libraries/libgpod/default.nix8
-rw-r--r--pkgs/development/libraries/libgrss/default.nix39
-rw-r--r--pkgs/development/libraries/libgsf/default.nix15
-rw-r--r--pkgs/development/libraries/libgsystem/default.nix31
-rw-r--r--pkgs/development/libraries/libgtop/default.nix19
-rw-r--r--pkgs/development/libraries/libgudev/default.nix6
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix8
-rw-r--r--pkgs/development/libraries/libheif/default.nix27
-rw-r--r--pkgs/development/libraries/libhttpseverywhere/default.nix6
-rw-r--r--pkgs/development/libraries/libiberty/default.nix2
-rw-r--r--pkgs/development/libraries/libical/default.nix36
-rw-r--r--pkgs/development/libraries/libical/respect-env-tzdir.patch10
-rw-r--r--pkgs/development/libraries/libiconv/default.nix17
-rw-r--r--pkgs/development/libraries/libiconv/setup-hook.sh6
-rw-r--r--pkgs/development/libraries/libid3tag/default.nix2
-rw-r--r--pkgs/development/libraries/libidn/default.nix6
-rw-r--r--pkgs/development/libraries/libidn2/default.nix9
-rw-r--r--pkgs/development/libraries/libimobiledevice/default.nix66
-rw-r--r--pkgs/development/libraries/libindicate/default.nix6
-rw-r--r--pkgs/development/libraries/libindicator/default.nix4
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix90
-rw-r--r--pkgs/development/libraries/libinotify-kqueue/default.nix24
-rw-r--r--pkgs/development/libraries/libinput/default.nix12
-rw-r--r--pkgs/development/libraries/libircclient/default.nix2
-rw-r--r--pkgs/development/libraries/libite/default.nix4
-rw-r--r--pkgs/development/libraries/libivykis/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix3
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix6
-rw-r--r--pkgs/development/libraries/libjson-rpc-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/libksba/default.nix2
-rw-r--r--pkgs/development/libraries/liblangtag/default.nix52
-rw-r--r--pkgs/development/libraries/liblinear/default.nix39
-rw-r--r--pkgs/development/libraries/liblo/default.nix4
-rw-r--r--pkgs/development/libraries/liblognorm/default.nix12
-rw-r--r--pkgs/development/libraries/liblouis/default.nix1
-rw-r--r--pkgs/development/libraries/libmanette/default.nix36
-rw-r--r--pkgs/development/libraries/libmatchbox/default.nix2
-rw-r--r--pkgs/development/libraries/libmatheval/default.nix2
-rw-r--r--pkgs/development/libraries/libmatroska/default.nix23
-rw-r--r--pkgs/development/libraries/libmbim/default.nix4
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix4
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix6
-rw-r--r--pkgs/development/libraries/libminc/default.nix40
-rw-r--r--pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch12
-rw-r--r--pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch28
-rw-r--r--pkgs/development/libraries/libmkv/P00-mingw-large-file.patch24
-rw-r--r--pkgs/development/libraries/libmkv/default.nix15
-rw-r--r--pkgs/development/libraries/libmnl/default.nix2
-rw-r--r--pkgs/development/libraries/libmowgli/default.nix7
-rw-r--r--pkgs/development/libraries/libmp3splt/default.nix2
-rw-r--r--pkgs/development/libraries/libmpcdec/default.nix2
-rw-r--r--pkgs/development/libraries/libmrss/default.nix2
-rw-r--r--pkgs/development/libraries/libmspack/default.nix6
-rw-r--r--pkgs/development/libraries/libmtp/default.nix5
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix8
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix2
-rw-r--r--pkgs/development/libraries/libnatpmp/default.nix22
-rw-r--r--pkgs/development/libraries/libnatspec/default.nix1
-rw-r--r--pkgs/development/libraries/libndctl/default.nix52
-rw-r--r--pkgs/development/libraries/libndp/default.nix4
-rw-r--r--pkgs/development/libraries/libndtypes/default.nix25
-rw-r--r--pkgs/development/libraries/libnetfilter_conntrack/default.nix4
-rw-r--r--pkgs/development/libraries/libnetfilter_cthelper/default.nix2
-rw-r--r--pkgs/development/libraries/libnfnetlink/default.nix2
-rw-r--r--pkgs/development/libraries/libnfs/default.nix4
-rw-r--r--pkgs/development/libraries/libnfsidmap/default.nix6
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/libnice/default.nix4
-rw-r--r--pkgs/development/libraries/libnih/default.nix4
-rw-r--r--pkgs/development/libraries/libnxml/default.nix2
-rw-r--r--pkgs/development/libraries/libodfgen/default.nix8
-rw-r--r--pkgs/development/libraries/libofx/default.nix4
-rw-r--r--pkgs/development/libraries/liboil/default.nix2
-rw-r--r--pkgs/development/libraries/libomxil-bellagio/default.nix2
-rw-r--r--pkgs/development/libraries/libopcodes/default.nix6
-rw-r--r--pkgs/development/libraries/liboping/default.nix2
-rw-r--r--pkgs/development/libraries/libopus/default.nix2
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix4
-rw-r--r--pkgs/development/libraries/libossp-uuid/default.nix6
-rw-r--r--pkgs/development/libraries/libossp-uuid/shtool.patch11
-rw-r--r--pkgs/development/libraries/libpcap/default.nix22
-rw-r--r--pkgs/development/libraries/libpfm/default.nix6
-rw-r--r--pkgs/development/libraries/libphonenumber/default.nix38
-rw-r--r--pkgs/development/libraries/libpipeline/default.nix8
-rw-r--r--pkgs/development/libraries/libplist/default.nix44
-rw-r--r--pkgs/development/libraries/libpng/12.nix7
-rw-r--r--pkgs/development/libraries/libpng/default.nix13
-rw-r--r--pkgs/development/libraries/libpqxx/default.nix6
-rw-r--r--pkgs/development/libraries/libproxy/default.nix4
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix12
-rw-r--r--pkgs/development/libraries/libqmatrixclient/default.nix22
-rw-r--r--pkgs/development/libraries/libqmi/default.nix4
-rw-r--r--pkgs/development/libraries/libqrencode/default.nix4
-rw-r--r--pkgs/development/libraries/libraw/default.nix6
-rw-r--r--pkgs/development/libraries/librdf/default.nix9
-rw-r--r--pkgs/development/libraries/librdf/raptor2.nix4
-rw-r--r--pkgs/development/libraries/librdf/rasqal.nix12
-rw-r--r--pkgs/development/libraries/librdf/redland.nix13
-rw-r--r--pkgs/development/libraries/libre/default.nix4
-rw-r--r--pkgs/development/libraries/librealsense/default.nix33
-rw-r--r--pkgs/development/libraries/librelp/default.nix4
-rw-r--r--pkgs/development/libraries/librem/default.nix4
-rw-r--r--pkgs/development/libraries/librep/default.nix2
-rw-r--r--pkgs/development/libraries/libressl/default.nix33
-rw-r--r--pkgs/development/libraries/librime/default.nix6
-rw-r--r--pkgs/development/libraries/librsvg/default.nix27
-rw-r--r--pkgs/development/libraries/librsync/0.9.nix9
-rw-r--r--pkgs/development/libraries/librsync/default.nix4
-rw-r--r--pkgs/development/libraries/libsass/default.nix16
-rw-r--r--pkgs/development/libraries/libsearpc/default.nix30
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix5
-rw-r--r--pkgs/development/libraries/libsecret/default.nix21
-rw-r--r--pkgs/development/libraries/libsidplayfp/default.nix4
-rw-r--r--pkgs/development/libraries/libsigcxx/default.nix2
-rw-r--r--pkgs/development/libraries/libsigsegv/default.nix1
-rw-r--r--pkgs/development/libraries/libsixel/default.nix4
-rw-r--r--pkgs/development/libraries/libskk/default.nix6
-rw-r--r--pkgs/development/libraries/libsnark/default.nix2
-rw-r--r--pkgs/development/libraries/libsodium/default.nix2
-rw-r--r--pkgs/development/libraries/libsolv/default.nix17
-rw-r--r--pkgs/development/libraries/libsoup/default.nix19
-rw-r--r--pkgs/development/libraries/libspatialindex/default.nix4
-rw-r--r--pkgs/development/libraries/libspatialite/default.nix4
-rw-r--r--pkgs/development/libraries/libspectre/default.nix2
-rw-r--r--pkgs/development/libraries/libssh/default.nix12
-rw-r--r--pkgs/development/libraries/libssh2/default.nix20
-rw-r--r--pkgs/development/libraries/libstatgrab/default.nix2
-rw-r--r--pkgs/development/libraries/libstroke/default.nix4
-rw-r--r--pkgs/development/libraries/libsvm/default.nix4
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix3
-rw-r--r--pkgs/development/libraries/libtensorflow/default.nix69
-rw-r--r--pkgs/development/libraries/libtheora/default.nix2
-rw-r--r--pkgs/development/libraries/libtiff/default.nix14
-rw-r--r--pkgs/development/libraries/libtomcrypt/default.nix6
-rw-r--r--pkgs/development/libraries/libtommath/default.nix2
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix55
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/generic.nix43
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix85
-rw-r--r--pkgs/development/libraries/libtoxcore/new-api.nix6
-rw-r--r--pkgs/development/libraries/libtsm/default.nix2
-rw-r--r--pkgs/development/libraries/libtxc_dxtn/default.nix2
-rw-r--r--pkgs/development/libraries/libu2f-host/default.nix4
-rw-r--r--pkgs/development/libraries/libu2f-server/default.nix9
-rw-r--r--pkgs/development/libraries/libuchardet/default.nix2
-rw-r--r--pkgs/development/libraries/libui/default.nix4
-rw-r--r--pkgs/development/libraries/libunistring/default.nix6
-rw-r--r--pkgs/development/libraries/libunity/default.nix53
-rw-r--r--pkgs/development/libraries/libunwind/default.nix4
-rw-r--r--pkgs/development/libraries/liburcu/default.nix2
-rw-r--r--pkgs/development/libraries/libusb1/default.nix4
-rw-r--r--pkgs/development/libraries/libusbmuxd/default.nix34
-rw-r--r--pkgs/development/libraries/libutempter/default.nix8
-rw-r--r--pkgs/development/libraries/libutempter/exec_path.patch25
-rw-r--r--pkgs/development/libraries/libuv/default.nix39
-rw-r--r--pkgs/development/libraries/libva-utils/default.nix2
-rw-r--r--pkgs/development/libraries/libva/1.0.0.nix11
-rw-r--r--pkgs/development/libraries/libva/default.nix11
-rw-r--r--pkgs/development/libraries/libvdpau-va-gl/default.nix2
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix7
-rw-r--r--pkgs/development/libraries/libversion/default.nix28
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix2
-rw-r--r--pkgs/development/libraries/libvirt/default.nix30
-rw-r--r--pkgs/development/libraries/libvmi/default.nix43
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix5
-rw-r--r--pkgs/development/libraries/libvpx/default.nix59
-rw-r--r--pkgs/development/libraries/libvpx/git.nix39
-rw-r--r--pkgs/development/libraries/libvterm-neovim/default.nix33
-rw-r--r--pkgs/development/libraries/libwacom/default.nix4
-rw-r--r--pkgs/development/libraries/libwebp/default.nix4
-rw-r--r--pkgs/development/libraries/libwebsockets/default.nix4
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix4
-rw-r--r--pkgs/development/libraries/libwps/default.nix4
-rw-r--r--pkgs/development/libraries/libx86/default.nix2
-rw-r--r--pkgs/development/libraries/libx86emu/default.nix4
-rw-r--r--pkgs/development/libraries/libxc/default.nix4
-rw-r--r--pkgs/development/libraries/libxcomp/default.nix11
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix2
-rw-r--r--pkgs/development/libraries/libxklavier/default.nix20
-rw-r--r--pkgs/development/libraries/libxmi/default.nix2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix48
-rw-r--r--pkgs/development/libraries/libxnd/default.nix31
-rw-r--r--pkgs/development/libraries/libxslt/default.nix4
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/libyaml/default.nix26
-rw-r--r--pkgs/development/libraries/libytnef/default.nix4
-rw-r--r--pkgs/development/libraries/libzdb/default.nix2
-rw-r--r--pkgs/development/libraries/libzip/default.nix15
-rw-r--r--pkgs/development/libraries/libzmf/default.nix6
-rw-r--r--pkgs/development/libraries/lief/default.nix14
-rw-r--r--pkgs/development/libraries/lightning/default.nix6
-rw-r--r--pkgs/development/libraries/linbox/default.nix78
-rw-r--r--pkgs/development/libraries/linenoise-ng/default.nix2
-rw-r--r--pkgs/development/libraries/lirc/default.nix2
-rw-r--r--pkgs/development/libraries/live555/default.nix32
-rw-r--r--pkgs/development/libraries/lmdbxx/default.nix26
-rw-r--r--pkgs/development/libraries/loudmouth/default.nix4
-rw-r--r--pkgs/development/libraries/lucene++/default.nix2
-rw-r--r--pkgs/development/libraries/mac/default.nix36
-rw-r--r--pkgs/development/libraries/mailcore2/default.nix10
-rw-r--r--pkgs/development/libraries/matio/default.nix4
-rw-r--r--pkgs/development/libraries/mbedtls/darwin_dylib.patch28
-rw-r--r--pkgs/development/libraries/mbedtls/default.nix57
-rw-r--r--pkgs/development/libraries/mdds/0.12.1.nix2
-rw-r--r--pkgs/development/libraries/mdds/default.nix6
-rw-r--r--pkgs/development/libraries/medfile/default.nix24
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix2
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix2
-rw-r--r--pkgs/development/libraries/mesa-darwin/default.nix12
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix7
-rw-r--r--pkgs/development/libraries/mesa/default.nix127
-rw-r--r--pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch52
-rw-r--r--pkgs/development/libraries/mesa/glx_ro_text_segm.patch25
-rw-r--r--pkgs/development/libraries/mesa/missing-includes.patch55
-rw-r--r--pkgs/development/libraries/mesa/musl-fixes.patch22
-rw-r--r--pkgs/development/libraries/minixml/default.nix2
-rw-r--r--pkgs/development/libraries/minizip/default.nix1
-rw-r--r--pkgs/development/libraries/mlt/default.nix6
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix4
-rw-r--r--pkgs/development/libraries/mono-zeroconf/default.nix2
-rw-r--r--pkgs/development/libraries/movit/default.nix2
-rw-r--r--pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch14
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix4
-rw-r--r--pkgs/development/libraries/mpfi/default.nix11
-rw-r--r--pkgs/development/libraries/mpfr/default.nix7
-rw-r--r--pkgs/development/libraries/mpich/default.nix (renamed from pkgs/development/libraries/mpich2/default.nix)18
-rw-r--r--pkgs/development/libraries/mpir/default.nix6
-rw-r--r--pkgs/development/libraries/msgpack/default.nix (renamed from pkgs/development/libraries/libmsgpack/default.nix)4
-rw-r--r--pkgs/development/libraries/msgpack/generic.nix (renamed from pkgs/development/libraries/libmsgpack/generic.nix)17
-rw-r--r--pkgs/development/libraries/msgpuck/default.nix25
-rw-r--r--pkgs/development/libraries/mypaint-brushes/default.nix35
-rw-r--r--pkgs/development/libraries/nanomsg/default.nix6
-rw-r--r--pkgs/development/libraries/ncurses/default.nix28
-rw-r--r--pkgs/development/libraries/ncurses/st-0.7.patch13
-rw-r--r--pkgs/development/libraries/ndn-cxx/default.nix1
-rw-r--r--pkgs/development/libraries/ndpi/default.nix4
-rw-r--r--pkgs/development/libraries/neardal/default.nix2
-rw-r--r--pkgs/development/libraries/neon/0.29.nix18
-rw-r--r--pkgs/development/libraries/neon/default.nix18
-rw-r--r--pkgs/development/libraries/netcdf/default.nix9
-rw-r--r--pkgs/development/libraries/newt/default.nix7
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix4
-rw-r--r--pkgs/development/libraries/nix-plugins/default.nix8
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix20
-rw-r--r--pkgs/development/libraries/nlopt/default.nix17
-rw-r--r--pkgs/development/libraries/npth/default.nix6
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix25
-rw-r--r--pkgs/development/libraries/ntdb/default.nix2
-rw-r--r--pkgs/development/libraries/ntl/default.nix58
-rw-r--r--pkgs/development/libraries/ntrack/default.nix4
-rw-r--r--pkgs/development/libraries/nvidia-texture-tools/default.nix2
-rw-r--r--pkgs/development/libraries/ocl-icd/default.nix4
-rw-r--r--pkgs/development/libraries/odpic/default.nix40
-rw-r--r--pkgs/development/libraries/olm/default.nix8
-rw-r--r--pkgs/development/libraries/oniguruma/default.nix17
-rw-r--r--pkgs/development/libraries/opae/default.nix44
-rw-r--r--pkgs/development/libraries/openbabel/default.nix1
-rw-r--r--pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch24
-rw-r--r--pkgs/development/libraries/openbsm/default.nix23
-rw-r--r--pkgs/development/libraries/opencollada/default.nix9
-rw-r--r--pkgs/development/libraries/opencollada/pcre.patch14
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix4
-rw-r--r--pkgs/development/libraries/openct/default.nix2
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix65
-rw-r--r--pkgs/development/libraries/opencv/default.nix7
-rw-r--r--pkgs/development/libraries/opencv/fix-dnn.patch13
-rw-r--r--pkgs/development/libraries/opendbx/default.nix5
-rw-r--r--pkgs/development/libraries/opendht/default.nix8
-rw-r--r--pkgs/development/libraries/openexr/default.nix11
-rw-r--r--pkgs/development/libraries/openfst/default.nix4
-rw-r--r--pkgs/development/libraries/openldap/default.nix17
-rw-r--r--pkgs/development/libraries/openmpi/default.nix7
-rw-r--r--pkgs/development/libraries/openpam/default.nix18
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix75
-rw-r--r--pkgs/development/libraries/openssl/default.nix61
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix6
-rw-r--r--pkgs/development/libraries/openvdb/default.nix4
-rw-r--r--pkgs/development/libraries/openwsman/default.nix2
-rw-r--r--pkgs/development/libraries/openzwave/default.nix58
-rw-r--r--pkgs/development/libraries/oracle-instantclient/default.nix123
-rw-r--r--pkgs/development/libraries/ortp/default.nix2
-rw-r--r--pkgs/development/libraries/osm-gps-map/default.nix2
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix7
-rw-r--r--pkgs/development/libraries/pagmo2/default.nix46
-rw-r--r--pkgs/development/libraries/pango/default.nix53
-rw-r--r--pkgs/development/libraries/pangomm/default.nix2
-rw-r--r--pkgs/development/libraries/pangox-compat/default.nix2
-rw-r--r--pkgs/development/libraries/parquet-cpp/default.nix37
-rw-r--r--pkgs/development/libraries/pcl/default.nix11
-rw-r--r--pkgs/development/libraries/pcre/default.nix10
-rw-r--r--pkgs/development/libraries/pcre2/default.nix34
-rw-r--r--pkgs/development/libraries/phash/default.nix38
-rw-r--r--pkgs/development/libraries/phonon/backends/vlc.nix19
-rw-r--r--pkgs/development/libraries/phonon/default.nix4
-rw-r--r--pkgs/development/libraries/physics/cernlib/default.nix2
-rw-r--r--pkgs/development/libraries/physics/fastjet/default.nix7
-rw-r--r--pkgs/development/libraries/physics/fastnlo/default.nix2
-rw-r--r--pkgs/development/libraries/physics/geant4/datasets-hook.sh5
-rw-r--r--pkgs/development/libraries/physics/geant4/datasets.nix103
-rw-r--r--pkgs/development/libraries/physics/geant4/default.nix88
-rw-r--r--pkgs/development/libraries/physics/geant4/fetch.nix12
-rw-r--r--pkgs/development/libraries/physics/geant4/geant4-hook.sh (renamed from pkgs/development/libraries/physics/geant4/setup-hook.sh)0
-rw-r--r--pkgs/development/libraries/physics/herwig/default.nix8
-rw-r--r--pkgs/development/libraries/physics/lhapdf/default.nix2
-rw-r--r--pkgs/development/libraries/physics/mcgrid/default.nix4
-rw-r--r--pkgs/development/libraries/physics/nlojet/default.nix6
-rw-r--r--pkgs/development/libraries/physics/pythia/default.nix5
-rw-r--r--pkgs/development/libraries/physics/rivet/default.nix10
-rw-r--r--pkgs/development/libraries/physics/thepeg/default.nix7
-rw-r--r--pkgs/development/libraries/physics/yoda/default.nix10
-rw-r--r--pkgs/development/libraries/pipewire/default.nix4
-rw-r--r--pkgs/development/libraries/pixman/default.nix4
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix4
-rw-r--r--pkgs/development/libraries/poco/default.nix3
-rw-r--r--pkgs/development/libraries/podofo/default.nix4
-rw-r--r--pkgs/development/libraries/polkit/default.nix88
-rw-r--r--pkgs/development/libraries/polkit/system_bus.conf58
-rw-r--r--pkgs/development/libraries/poppler/0.61.nix7
-rw-r--r--pkgs/development/libraries/poppler/default.nix16
-rw-r--r--pkgs/development/libraries/poppler/qt4.nix44
-rw-r--r--pkgs/development/libraries/popt/default.nix6
-rw-r--r--pkgs/development/libraries/postgis/default.nix19
-rw-r--r--pkgs/development/libraries/proj/default.nix2
-rw-r--r--pkgs/development/libraries/protobuf/generic.nix2
-rw-r--r--pkgs/development/libraries/prototypejs/default.nix23
-rw-r--r--pkgs/development/libraries/ptex/default.nix4
-rw-r--r--pkgs/development/libraries/pth/default.nix9
-rw-r--r--pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--pkgs/development/libraries/pupnp/default.nix4
-rw-r--r--pkgs/development/libraries/pybind11/default.nix35
-rw-r--r--pkgs/development/libraries/qca2/default.nix15
-rw-r--r--pkgs/development/libraries/qhull/default.nix30
-rw-r--r--pkgs/development/libraries/qimageblitz/default.nix2
-rw-r--r--pkgs/development/libraries/qpdf/default.nix14
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix8
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix162
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff26
-rw-r--r--pkgs/development/libraries/qt-5/5.10/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.10/qtwebkit.patch77
-rw-r--r--pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch27
-rw-r--r--pkgs/development/libraries/qt-5/5.10/srcs.nix341
-rw-r--r--pkgs/development/libraries/qt-5/5.11/default.nix (renamed from pkgs/development/libraries/qt-5/5.10/default.nix)24
-rw-r--r--pkgs/development/libraries/qt-5/5.11/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase-darwin.patch (renamed from pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch)40
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch102
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtbase.patch (renamed from pkgs/development/libraries/qt-5/5.10/qtbase.patch)156
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch (renamed from pkgs/development/libraries/qt-5/5.10/qtdeclarative.patch)8
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtscript.patch (renamed from pkgs/development/libraries/qt-5/5.10/qtscript.patch)0
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtserialport.patch (renamed from pkgs/development/libraries/qt-5/5.10/qtserialport.patch)0
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qttools.patch (renamed from pkgs/development/libraries/qt-5/5.10/qttools.patch)0
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebengine-paxmark-mksnapshot.patch (renamed from pkgs/development/libraries/qt-5/5.10/qtwebengine-paxmark-mksnapshot.patch)0
-rw-r--r--pkgs/development/libraries/qt-5/5.11/qtwebkit.patch12
-rw-r--r--pkgs/development/libraries/qt-5/5.11/srcs.nix325
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix5
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix40
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtdeclarative.nix1
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtlocation.nix2
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtmultimedia.nix1
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtserialport.nix2
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix106
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix46
-rw-r--r--pkgs/development/libraries/qt-5/qt-env.nix2
-rw-r--r--pkgs/development/libraries/qt-5/qtModule.nix4
-rw-r--r--pkgs/development/libraries/qtinstaller/default.nix2
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix4
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix15
-rw-r--r--pkgs/development/libraries/qtstyleplugins/default.nix2
-rw-r--r--pkgs/development/libraries/quazip/default.nix2
-rw-r--r--pkgs/development/libraries/quickder/default.nix2
-rw-r--r--pkgs/development/libraries/qwt/6.nix2
-rw-r--r--pkgs/development/libraries/qwt/default.nix2
-rw-r--r--pkgs/development/libraries/rabbitmq-c/default.nix4
-rw-r--r--pkgs/development/libraries/rabbitmq-java-client/default.nix2
-rw-r--r--pkgs/development/libraries/range-v3/default.nix4
-rw-r--r--pkgs/development/libraries/rapidjson/default.nix8
-rw-r--r--pkgs/development/libraries/rarian/default.nix31
-rw-r--r--pkgs/development/libraries/rdkafka/default.nix10
-rw-r--r--pkgs/development/libraries/re2/default.nix4
-rw-r--r--pkgs/development/libraries/readline/readline-7.0-patches.nix2
-rw-r--r--pkgs/development/libraries/readosm/default.nix4
-rw-r--r--pkgs/development/libraries/rep-gtk/default.nix2
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix15
-rw-r--r--pkgs/development/libraries/rubberband/default.nix2
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix18
-rw-r--r--pkgs/development/libraries/science/biology/EBTKS/default.nix28
-rw-r--r--pkgs/development/libraries/science/biology/bicgl/default.nix28
-rw-r--r--pkgs/development/libraries/science/biology/bicpl/default.nix33
-rw-r--r--pkgs/development/libraries/science/biology/elastix/default.nix18
-rw-r--r--pkgs/development/libraries/science/biology/htslib/default.nix2
-rw-r--r--pkgs/development/libraries/science/biology/mirtk/default.nix41
-rw-r--r--pkgs/development/libraries/science/biology/nifticlib/default.nix1
-rw-r--r--pkgs/development/libraries/science/biology/oobicpl/default.nix31
-rw-r--r--pkgs/development/libraries/science/math/arpack/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/blas/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/brial/default.nix46
-rw-r--r--pkgs/development/libraries/science/math/caffe2/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/clblas/default.nix17
-rw-r--r--pkgs/development/libraries/science/math/cliquer/default.nix38
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix36
-rw-r--r--pkgs/development/libraries/science/math/cudnn/generic.nix14
-rw-r--r--pkgs/development/libraries/science/math/ecos/default.nix37
-rw-r--r--pkgs/development/libraries/science/math/flintqs/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/ipopt/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/lcalc/default.nix98
-rw-r--r--pkgs/development/libraries/science/math/lcalc/makefile.patch113
-rw-r--r--pkgs/development/libraries/science/math/libbraiding/default.nix34
-rw-r--r--pkgs/development/libraries/science/math/libhomfly/default.nix35
-rw-r--r--pkgs/development/libraries/science/math/liblapack/3.5.0.nix64
-rw-r--r--pkgs/development/libraries/science/math/liblapack/default.nix10
-rw-r--r--pkgs/development/libraries/science/math/liblbfgs/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/m4ri/default.nix30
-rw-r--r--pkgs/development/libraries/science/math/m4rie/default.nix39
-rw-r--r--pkgs/development/libraries/science/math/magma/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/nccl/default.nix10
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix58
-rw-r--r--pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/planarity/default.nix40
-rw-r--r--pkgs/development/libraries/science/math/rankwidth/default.nix28
-rw-r--r--pkgs/development/libraries/science/math/rubiks/default.nix82
-rw-r--r--pkgs/development/libraries/science/math/scs/default.nix44
-rw-r--r--pkgs/development/libraries/science/math/sympow/default.nix91
-rw-r--r--pkgs/development/libraries/science/math/zn_poly/default.nix52
-rw-r--r--pkgs/development/libraries/science/networking/ns3/default.nix100
-rw-r--r--pkgs/development/libraries/scriptaculous/default.nix30
-rw-r--r--pkgs/development/libraries/serd/default.nix6
-rw-r--r--pkgs/development/libraries/serf/default.nix41
-rw-r--r--pkgs/development/libraries/serf/scons.patch12
-rw-r--r--pkgs/development/libraries/sfml/default.nix17
-rw-r--r--pkgs/development/libraries/shapelib/default.nix2
-rw-r--r--pkgs/development/libraries/silgraphite/graphite2.nix9
-rw-r--r--pkgs/development/libraries/simpleitk/default.nix29
-rw-r--r--pkgs/development/libraries/skalibs/default.nix20
-rw-r--r--pkgs/development/libraries/slang/default.nix25
-rw-r--r--pkgs/development/libraries/slib/default.nix18
-rw-r--r--pkgs/development/libraries/smarty3-i18n/default.nix24
-rw-r--r--pkgs/development/libraries/smarty3/default.nix29
-rw-r--r--pkgs/development/libraries/smpeg2/default.nix2
-rw-r--r--pkgs/development/libraries/snack/default.nix4
-rw-r--r--pkgs/development/libraries/soil/default.nix28
-rw-r--r--pkgs/development/libraries/sord/default.nix6
-rw-r--r--pkgs/development/libraries/soundtouch/default.nix2
-rw-r--r--pkgs/development/libraries/soxt/default.nix21
-rw-r--r--pkgs/development/libraries/spandsp/default.nix2
-rw-r--r--pkgs/development/libraries/spatialite-tools/default.nix4
-rw-r--r--pkgs/development/libraries/spdk/default.nix35
-rw-r--r--pkgs/development/libraries/speech-tools/default.nix2
-rw-r--r--pkgs/development/libraries/speexdsp/default.nix2
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix15
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix6
-rw-r--r--pkgs/development/libraries/spice/default.nix27
-rw-r--r--pkgs/development/libraries/sqlcipher/default.nix2
-rw-r--r--pkgs/development/libraries/sqlite/analyzer.nix31
-rw-r--r--pkgs/development/libraries/sqlite/archive-version.nix11
-rw-r--r--pkgs/development/libraries/sqlite/default.nix37
-rw-r--r--pkgs/development/libraries/sqlite/sqlar.nix27
-rw-r--r--pkgs/development/libraries/sqlite/sqlite3_analyzer.nix27
-rw-r--r--pkgs/development/libraries/srtp/default.nix4
-rw-r--r--pkgs/development/libraries/startup-notification/default.nix2
-rw-r--r--pkgs/development/libraries/stb/default.nix28
-rw-r--r--pkgs/development/libraries/stfl/default.nix3
-rw-r--r--pkgs/development/libraries/strigi/default.nix6
-rw-r--r--pkgs/development/libraries/sundials/default.nix4
-rw-r--r--pkgs/development/libraries/swiften/default.nix6
-rw-r--r--pkgs/development/libraries/sword/default.nix4
-rw-r--r--pkgs/development/libraries/tachyon/darwin.patch31
-rw-r--r--pkgs/development/libraries/tachyon/default.nix54
-rw-r--r--pkgs/development/libraries/tachyon/make-archs.patch37
-rw-r--r--pkgs/development/libraries/tachyon/no-absolute-paths.patch57
-rw-r--r--pkgs/development/libraries/talloc/default.nix6
-rw-r--r--pkgs/development/libraries/tbb/default.nix4
-rw-r--r--pkgs/development/libraries/tdb/default.nix6
-rw-r--r--pkgs/development/libraries/telepathy/farstream/default.nix2
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix2
-rw-r--r--pkgs/development/libraries/telepathy/qt/default.nix6
-rw-r--r--pkgs/development/libraries/template-glib/default.nix36
-rw-r--r--pkgs/development/libraries/tepl/default.nix42
-rw-r--r--pkgs/development/libraries/tevent/default.nix6
-rw-r--r--pkgs/development/libraries/thrift/default.nix4
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix12
-rw-r--r--pkgs/development/libraries/tinyxml/2.6.2.nix3
-rw-r--r--pkgs/development/libraries/tix/default.nix14
-rw-r--r--pkgs/development/libraries/tk/8.5.nix1
-rw-r--r--pkgs/development/libraries/tk/8.6.nix1
-rw-r--r--pkgs/development/libraries/tk/generic.nix2
-rw-r--r--pkgs/development/libraries/tntdb/default.nix5
-rw-r--r--pkgs/development/libraries/tntnet/default.nix5
-rw-r--r--pkgs/development/libraries/tokyo-tyrant/default.nix2
-rw-r--r--pkgs/development/libraries/tre/default.nix3
-rw-r--r--pkgs/development/libraries/twolame/default.nix2
-rw-r--r--pkgs/development/libraries/ucl/default.nix2
-rw-r--r--pkgs/development/libraries/ucommon/default.nix2
-rw-r--r--pkgs/development/libraries/udunits/default.nix36
-rw-r--r--pkgs/development/libraries/umockdev/default.nix26
-rw-r--r--pkgs/development/libraries/unibilium/default.nix4
-rw-r--r--pkgs/development/libraries/unicap/default.nix2
-rw-r--r--pkgs/development/libraries/unicorn-emu/default.nix2
-rw-r--r--pkgs/development/libraries/unixODBC/default.nix4
-rw-r--r--pkgs/development/libraries/unixODBCDrivers/default.nix45
-rw-r--r--pkgs/development/libraries/uri/default.nix2
-rw-r--r--pkgs/development/libraries/uriparser/default.nix21
-rw-r--r--pkgs/development/libraries/usbredir/default.nix10
-rw-r--r--pkgs/development/libraries/utf8proc/default.nix4
-rw-r--r--pkgs/development/libraries/uthash/default.nix4
-rw-r--r--pkgs/development/libraries/v8/3.14.nix2
-rw-r--r--pkgs/development/libraries/v8/3.16.14.nix4
-rw-r--r--pkgs/development/libraries/v8/6_x.nix2
-rw-r--r--pkgs/development/libraries/v8/default.nix14
-rw-r--r--pkgs/development/libraries/v8/no-xcode.patch64
-rw-r--r--pkgs/development/libraries/vaapi-intel-hybrid/default.nix47
-rw-r--r--pkgs/development/libraries/vaapi-intel/default.nix16
-rw-r--r--pkgs/development/libraries/vaapi-vdpau/default.nix2
-rw-r--r--pkgs/development/libraries/vapoursynth-mvtools/default.nix2
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix2
-rw-r--r--pkgs/development/libraries/vcdimager/default.nix8
-rw-r--r--pkgs/development/libraries/vigra/default.nix5
-rw-r--r--pkgs/development/libraries/virglrenderer/default.nix9
-rw-r--r--pkgs/development/libraries/vo-amrwbenc/default.nix2
-rw-r--r--pkgs/development/libraries/volume-key/default.nix36
-rw-r--r--pkgs/development/libraries/vsqlite/default.nix2
-rw-r--r--pkgs/development/libraries/vtk/default.nix4
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix22
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix68
-rw-r--r--pkgs/development/libraries/vulkan-loader/rev-file.patch21
-rw-r--r--pkgs/development/libraries/wavpack/default.nix2
-rw-r--r--pkgs/development/libraries/wayland/1.9.nix8
-rw-r--r--pkgs/development/libraries/wayland/default.nix6
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix8
-rw-r--r--pkgs/development/libraries/wcslib/default.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.20.nix24
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix4
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/default.nix16
-rw-r--r--pkgs/development/libraries/wiredtiger/default.nix1
-rw-r--r--pkgs/development/libraries/wlc/default.nix10
-rw-r--r--pkgs/development/libraries/wlroots/default.nix7
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix4
-rw-r--r--pkgs/development/libraries/wt/default.nix16
-rw-r--r--pkgs/development/libraries/wxSVG/default.nix4
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix16
-rw-r--r--pkgs/development/libraries/x264/default.nix2
-rw-r--r--pkgs/development/libraries/x265/default.nix4
-rw-r--r--pkgs/development/libraries/xalanc/default.nix5
-rw-r--r--pkgs/development/libraries/xapian/default.nix11
-rw-r--r--pkgs/development/libraries/xapian/fix-notmuch-tagging.patch31
-rw-r--r--pkgs/development/libraries/xapian/tools/omega/default.nix4
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/HEAD.nix2
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix24
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix41
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch76
-rw-r--r--pkgs/development/libraries/xgboost/default.nix5
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix2
-rw-r--r--pkgs/development/libraries/xml-security-c/default.nix2
-rw-r--r--pkgs/development/libraries/xmlsec/default.nix6
-rw-r--r--pkgs/development/libraries/xsd/default.nix2
-rw-r--r--pkgs/development/libraries/xxHash/default.nix6
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix4
-rw-r--r--pkgs/development/libraries/zeroc-ice/default.nix2
-rw-r--r--pkgs/development/libraries/zeroc-ice/makefile.patch9
-rw-r--r--pkgs/development/libraries/zeromq/3.x.nix2
-rw-r--r--pkgs/development/libraries/zeromq/4.x.nix8
-rw-r--r--pkgs/development/libraries/zimg/default.nix4
-rw-r--r--pkgs/development/libraries/zlib/default.nix3
-rw-r--r--pkgs/development/libraries/zlog/default.nix2
-rw-r--r--pkgs/development/libraries/zmqpp/default.nix27
-rw-r--r--pkgs/development/libraries/zookeeper_mt/default.nix2
-rw-r--r--pkgs/development/libraries/zziplib/default.nix6
1054 files changed, 12106 insertions, 7493 deletions
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index cdb37a84c8012..23a539491d0e2 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake, boost, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  version = "4.11.1";
+  version = "4.12";
   name = "cgal-" + version;
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "04nn1lzsjdglzjygc72cq09xrvpqwwnbf6l0xz8bfwfp4x9g10jf";
+    sha256 = "0n4yvg2rkrlb1bwhykrg4iyqg4whxadcs441k10xx0r75i6220mn";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/CoinMP/default.nix b/pkgs/development/libraries/CoinMP/default.nix
index ea72bfb434b8b..7fecae0a66e71 100644
--- a/pkgs/development/libraries/CoinMP/default.nix
+++ b/pkgs/development/libraries/CoinMP/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.8.3";
 
   src = fetchurl {
-    url = "http://www.coin-or.org/download/source/CoinMP/${name}.tgz";
+    url = "https://www.coin-or.org/download/source/CoinMP/${name}.tgz";
     sha256 = "1xr2iwbbhm6l9hwiry5c10pz46xfih8bvzrzwp0nkzf76vdnb9m1";
   };
 
diff --git a/pkgs/development/libraries/LASzip/default.nix b/pkgs/development/libraries/LASzip/default.nix
index df9d126ad719e..4a166242eb3af 100644
--- a/pkgs/development/libraries/LASzip/default.nix
+++ b/pkgs/development/libraries/LASzip/default.nix
@@ -13,9 +13,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Turn quickly bulky LAS files into compact LAZ files without information loss";
-    homepage = http://www.laszip.org;
+    homepage = https://www.laszip.org;
     license = stdenv.lib.licenses.lgpl2;
     maintainers = [ stdenv.lib.maintainers.michelk ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index 5e1c527eb8b58..c7e4a9c29ac83 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -15,30 +15,12 @@ with lib;
 assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
 assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null && libGLU != null);
 
-let
-
-  configureFlagsFun = attrs: [
-    "--disable-oss"
-    "--disable-video-x11-xme"
-    "--enable-rpath"
-  # Building without this fails on Darwin with
-  #
-  #   ./src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for '_XData32'
-  #   SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
-  #
-  # Please try revert the change that introduced this comment when updating SDL.
-  ] ++ optional stdenv.isDarwin "--disable-x11-shared"
-    ++ optional (!x11Support) "--without-x"
-    ++ optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib";
-
-in
-
 stdenv.mkDerivation rec {
   name    = "SDL-${version}";
   version = "1.2.15";
 
   src = fetchurl {
-    url    = "http://www.libsdl.org/release/${name}.tar.gz";
+    url    = "https://www.libsdl.org/release/${name}.tar.gz";
     sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
   };
 
@@ -50,7 +32,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ ]
+  propagatedBuildInputs = [ libiconv ]
     ++ optionals x11Support [ libXext libICE libXrandr ]
     ++ optional stdenv.isLinux libcap
     ++ optionals openglSupport [ libGL libGLU ]
@@ -58,15 +40,23 @@ stdenv.mkDerivation rec {
     ++ optional pulseaudioSupport libpulseaudio
     ++ optional stdenv.isDarwin Cocoa;
 
-  buildInputs = [ libiconv ]
+  buildInputs = [ ]
     ++ optional (!hostPlatform.isMinGW) audiofile
     ++ optionals stdenv.isDarwin [ AudioUnit CoreAudio CoreServices Kernel OpenGL ];
 
-  configureFlags = configureFlagsFun { inherit alsaLib; };
-
-  crossAttrs = {
-    configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
-  };
+  configureFlags = [
+    "--disable-oss"
+    "--disable-video-x11-xme"
+    "--enable-rpath"
+  # Building without this fails on Darwin with
+  #
+  #   ./src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for '_XData32'
+  #   SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
+  #
+  # Please try revert the change that introduced this comment when updating SDL.
+  ] ++ optional stdenv.isDarwin "--disable-x11-shared"
+    ++ optional (!x11Support) "--without-x"
+    ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib";
 
   patches = [
     ./find-headers.patch
@@ -129,6 +119,8 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit openglSupport; };
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A cross-platform multimedia library";
     homepage    = "http://www.libsdl.org/";
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index fe19ecadd0ef0..7d8f5b2caee65 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, fetchurl, pkgconfig, audiofile
+{ stdenv, lib, fetchurl, pkgconfig, pruneLibtoolFiles
 , openglSupport ? false, libGL
 , alsaSupport ? true, alsaLib
-, x11Support ? true, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
+, x11Support ? true, libX11, xproto, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
 , waylandSupport ? true, wayland, wayland-protocols, libxkbcommon
 , dbusSupport ? false, dbus
 , udevSupport ? false, udev
 , ibusSupport ? false, ibus
 , pulseaudioSupport ? true, libpulseaudio
 , AudioUnit, Cocoa, CoreAudio, CoreServices, ForceFeedback, OpenGL
-, libiconv
+, audiofile, libiconv
 }:
 
 # NOTE: When editing this expression see if the same change applies to
@@ -19,21 +19,12 @@ with lib;
 assert !stdenv.isDarwin -> alsaSupport || pulseaudioSupport;
 assert openglSupport -> (stdenv.isDarwin || x11Support && libGL != null);
 
-let
-
-  configureFlagsFun = attrs: [
-    "--disable-oss"
-  ] ++ optional (!x11Support) "--without-x"
-    ++ optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib";
-
-in
-
 stdenv.mkDerivation rec {
   name = "SDL2-${version}";
   version = "2.0.8";
 
   src = fetchurl {
-    url = "http://www.libsdl.org/release/${name}.tar.gz";
+    url = "https://www.libsdl.org/release/${name}.tar.gz";
     sha256 = "1v4js1gkr75hzbxzhwzzif0sf9g07234sd23x1vdaqc661bprizd";
   };
 
@@ -42,18 +33,26 @@ stdenv.mkDerivation rec {
 
   patches = [ ./find-headers.patch ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig pruneLibtoolFiles ];
+
+  propagatedBuildInputs = dlopenPropagatedBuildInputs;
+
+  dlopenPropagatedBuildInputs = [ ]
+    # Propagated for #include <GLES/gl.h> in SDL_opengles.h.
+    ++ optional openglSupport libGL
+    # Propagated for #include <X11/Xlib.h> and <X11/Xatom.h> in SDL_syswm.h.
+    ++ optionals x11Support [ libX11 xproto ];
 
-  propagatedBuildInputs = [ libiconv ]
+  dlopenBuildInputs = [ ]
+    ++ optional  alsaSupport alsaLib
     ++ optional  dbusSupport dbus
+    ++ optional  pulseaudioSupport libpulseaudio
     ++ optional  udevSupport udev
-    ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ]
     ++ optionals waylandSupport [ wayland wayland-protocols libxkbcommon ]
-    ++ optional  alsaSupport alsaLib
-    ++ optional  pulseaudioSupport libpulseaudio;
+    ++ optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ];
 
-  buildInputs = [ audiofile ]
-    ++ optional  openglSupport libGL
+  buildInputs = [ audiofile libiconv ]
+    ++ dlopenBuildInputs
     ++ optional  ibusSupport ibus
     ++ optionals stdenv.isDarwin [ AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL ];
 
@@ -61,11 +60,11 @@ stdenv.mkDerivation rec {
   #   pointer-constraints-unstable-v1-client-protocol.h: No such file or directory
   enableParallelBuilding = false;
 
-  configureFlags = configureFlagsFun { inherit alsaLib; };
-
-  crossAttrs = {
-    configureFlags = configureFlagsFun { alsaLib = alsaLib.crossDrv; };
-  };
+  configureFlags = [
+    "--disable-oss"
+  ] ++ optional (!x11Support) "--without-x"
+    ++ optional alsaSupport "--with-alsa-prefix=${alsaLib.out}/lib"
+    ++ optional stdenv.isDarwin "--disable-sdltest";
 
   postInstall = ''
     moveToOutput lib/libSDL2main.a "$dev"
@@ -85,12 +84,13 @@ stdenv.mkDerivation rec {
   # SDL API that requires said libraries will fail to start.
   #
   # You can grep SDL sources with `grep -rE 'SDL_(NAME|.*_SYM)'` to
-  # confirm that they actually use most of the `propagatedBuildInputs`
-  # from above in this way. This is pretty weird.
-  postFixup = ''
+  # list the symbols used in this way.
+  postFixup = let
+    rpath = makeLibraryPath (dlopenPropagatedBuildInputs ++ dlopenBuildInputs);
+  in optionalString (stdenv.hostPlatform.extensions.sharedLibrary == ".so") ''
     for lib in $out/lib/*.so* ; do
-      if [[ -L "$lib" ]]; then
-        patchelf --set-rpath "$(patchelf --print-rpath $lib):${lib.makeLibraryPath propagatedBuildInputs}" "$lib"
+      if ! [[ -L "$lib" ]]; then
+        patchelf --set-rpath "$(patchelf --print-rpath $lib):${rpath}" "$lib"
       fi
     done
   '';
diff --git a/pkgs/development/libraries/SDL2_gfx/default.nix b/pkgs/development/libraries/SDL2_gfx/default.nix
index 04ec3f9652c2a..803cc97a8ae88 100644
--- a/pkgs/development/libraries/SDL2_gfx/default.nix
+++ b/pkgs/development/libraries/SDL2_gfx/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ SDL2 ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
-  configureFlags = if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx";
+  configureFlags = [(if stdenv.isi686 || stdenv.isx86_64 then "--enable-mmx" else "--disable-mmx")]
+     ++ stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
 
   meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
diff --git a/pkgs/development/libraries/SDL2_image/default.nix b/pkgs/development/libraries/SDL2_image/default.nix
index b0f2d0e8b8d18..17a2dd14b272f 100644
--- a/pkgs/development/libraries/SDL2_image/default.nix
+++ b/pkgs/development/libraries/SDL2_image/default.nix
@@ -5,13 +5,16 @@ stdenv.mkDerivation rec {
   version = "2.0.3";
 
   src = fetchurl {
-    url = "http://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
+    url = "https://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
     sha256 = "0s13dmakn21q6yw8avl67d4zkxzl1wap6l5nwf6cvzrmlxfw441m";
   };
 
   buildInputs = [ SDL2 libpng libjpeg libtiff libungif libXpm zlib ]
     ++ stdenv.lib.optional stdenv.isDarwin Foundation;
 
+
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/SDL2_mixer/default.nix b/pkgs/development/libraries/SDL2_mixer/default.nix
index 00251adb9153c..3819aeb3c316c 100644
--- a/pkgs/development/libraries/SDL2_mixer/default.nix
+++ b/pkgs/development/libraries/SDL2_mixer/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "2.0.2";
 
   src = fetchurl {
-    url = "http://www.libsdl.org/projects/SDL_mixer/release/${name}.tar.gz";
+    url = "https://www.libsdl.org/projects/SDL_mixer/release/${name}.tar.gz";
     sha256 = "1fw3kkqi5346ai5if4pxrcbhs5c4vv3a4smgz6fl6kyaxwkmwqaf";
   };
 
@@ -23,7 +23,8 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ SDL2 libogg libvorbis fluidsynth smpeg2 flac libmodplug ];
 
   configureFlags = [ "--disable-music-ogg-shared" ]
-    ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl";
+    ++ lib.optional enableNativeMidi "--enable-music-native-midi-gpl"
+    ++ lib.optionals stdenv.isDarwin [ "--disable-sdltest" "--disable-smpegtest" ];
 
   meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
diff --git a/pkgs/development/libraries/SDL2_net/default.nix b/pkgs/development/libraries/SDL2_net/default.nix
index 780444d51f4fb..1cb74ac1b2d32 100644
--- a/pkgs/development/libraries/SDL2_net/default.nix
+++ b/pkgs/development/libraries/SDL2_net/default.nix
@@ -5,12 +5,14 @@ stdenv.mkDerivation rec {
   version = "2.0.1";
 
   src = fetchurl {
-    url = "http://www.libsdl.org/projects/SDL_net/release/${name}.tar.gz";
+    url = "https://www.libsdl.org/projects/SDL_net/release/${name}.tar.gz";
     sha256 = "08cxc1bicmyk89kiks7izw1rlx5ng5n6xpy8fy0zxni3b9z8mkhm";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   propagatedBuildInputs = [ SDL2 ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/SDL2_ttf/default.nix b/pkgs/development/libraries/SDL2_ttf/default.nix
index 4558317ce3e33..a21315fdc882e 100644
--- a/pkgs/development/libraries/SDL2_ttf/default.nix
+++ b/pkgs/development/libraries/SDL2_ttf/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0xljwcpvd2knrjdfag5b257xqayplz55mqlszrqp0kpnphh5xnrl";
   };
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   buildInputs = [ SDL2 freetype libGL ]
     ++ stdenv.lib.optional stdenv.isDarwin darwin.libobjc;
 
diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix
index 1d7d96f7536dd..68c8c16ed4e87 100644
--- a/pkgs/development/libraries/SDL_gfx/default.nix
+++ b/pkgs/development/libraries/SDL_gfx/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "SDL_gfx-${version}";
-  version = "2.0.25";
+  version = "2.0.26";
 
   src = fetchurl {
-    url = "http://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
-    sha256 = "1h2rj34dxi5xlwpvm293v2d91gsirhnpzlmnjns9xwkcdg0fsvjm";
+    url = "https://www.ferzkopp.net/Software/SDL_gfx-2.0/${name}.tar.gz";
+    sha256 = "0ijljhs0v99dj6y27hc10z6qchyp8gdp4199y6jzngy6dzxlzsvw";
   };
 
   buildInputs = [ SDL ] ;
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index c8cab33ed57f9..961a0a7f5aab7 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.2.12";
 
   src = fetchurl {
-    url    = "http://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
+    url    = "https://www.libsdl.org/projects/SDL_image/release/${name}.tar.gz";
     sha256 = "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b";
   };
 
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     homepage    = "http://www.libsdl.org/projects/SDL_image/";
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
+    license     = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index d328d80d38987..887319062be96 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -21,5 +21,6 @@ stdenv.mkDerivation rec {
     homepage    = http://www.libsdl.org/projects/SDL_mixer/;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
+    license     = licenses.zlib;
   };
 }
diff --git a/pkgs/development/libraries/SDL_sound/default.nix b/pkgs/development/libraries/SDL_sound/default.nix
index e471c3cc556f8..2a009a3b7104a 100644
--- a/pkgs/development/libraries/SDL_sound/default.nix
+++ b/pkgs/development/libraries/SDL_sound/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0.3";
 
   src = fetchurl {
-    url = "http://icculus.org/SDL_sound/downloads/${name}.tar.gz";
+    url = "https://icculus.org/SDL_sound/downloads/${name}.tar.gz";
     sha256 = "1pz6g56gcy7pmmz3hhych3iq9jvinml2yjz15fjqjlj8pc5zv69r";
   };
 
diff --git a/pkgs/development/libraries/SDL_ttf/default.nix b/pkgs/development/libraries/SDL_ttf/default.nix
index f98e4a3b0ad38..cf6b53021f799 100644
--- a/pkgs/development/libraries/SDL_ttf/default.nix
+++ b/pkgs/development/libraries/SDL_ttf/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "2.0.11";
 
   src = fetchurl {
-    url = "http://www.libsdl.org/projects/SDL_ttf/release/${name}.tar.gz";
+    url = "https://www.libsdl.org/projects/SDL_ttf/release/${name}.tar.gz";
     sha256 = "1dydxd4f5kb1288i5n5568kdk2q7f8mqjr7i7sd33nplxjaxhk3j";
   };
 
diff --git a/pkgs/development/libraries/Xaw3d/default.nix b/pkgs/development/libraries/Xaw3d/default.nix
index 07d256f4f571c..0a7f02f17e593 100644
--- a/pkgs/development/libraries/Xaw3d/default.nix
+++ b/pkgs/development/libraries/Xaw3d/default.nix
@@ -1,19 +1,20 @@
-{stdenv, fetchurl, xlibsWrapper, imake, gccmakedep, libXmu, libXpm, libXp, bison, flex, pkgconfig}:
+{ stdenv, fetchurl
+, imake, gccmakedep, bison, flex, pkgconfig
+, xlibsWrapper, libXmu, libXpm, libXp }:
 
 stdenv.mkDerivation {
-  name = "Xaw3d-1.6.2";
+  name = "Xaw3d-1.6.3";
   src = fetchurl {
-    urls = [ 
-      ftp://ftp.x.org/pub/xorg/individual/lib/libXaw3d-1.6.2.tar.bz2
-      ];
-    sha256 = "0awplv1nf53ywv01yxphga3v6dcniwqnxgnb0cn4khb121l12kxp";
+    url = https://www.x.org/releases/individual/lib/libXaw3d-1.6.3.tar.bz2;
+    sha256 = "0i653s8g25cc0mimkwid9366bqkbyhdyjhckx7bw77j20hzrkfid";
   };
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [imake gccmakedep libXpm libXp bison flex];
-  propagatedBuildInputs = [xlibsWrapper libXmu];
+  nativeBuildInputs = [ pkgconfig bison flex imake gccmakedep ];
+  buildInputs = [ libXpm libXp ];
+  propagatedBuildInputs = [ xlibsWrapper libXmu ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "3D widget set based on the Athena Widget set";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
+    license = licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch b/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
deleted file mode 100644
index 5e0af3577d6a9..0000000000000
--- a/pkgs/development/libraries/a52dec/A00-a52-state-t-public.patch
+++ /dev/null
@@ -1,152 +0,0 @@
-diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
---- a52dec.old/include/a52.h	2002-01-28 06:37:54.000000000 +0100
-+++ a52dec.new/include/a52.h	2012-07-16 14:13:35.000000000 +0200
-@@ -30,7 +30,71 @@
- typedef double sample_t;
- #endif
- 
--typedef struct a52_state_s a52_state_t;
-+typedef struct {
-+    uint8_t bai;              /* fine SNR offset, fast gain */
-+    uint8_t deltbae;          /* delta bit allocation exists */
-+    int8_t deltba[50];        /* per-band delta bit allocation */
-+} ba_t;
-+
-+typedef struct {
-+    uint8_t exp[256];         /* decoded channel exponents */
-+    int8_t bap[256];          /* derived channel bit allocation */
-+} expbap_t;
-+
-+typedef struct {
-+    uint8_t fscod;            /* sample rate */
-+    uint8_t halfrate;         /* halfrate factor */
-+    uint8_t acmod;            /* coded channels */
-+    uint8_t lfeon;            /* coded lfe channel */
-+    sample_t clev;            /* centre channel mix level */
-+    sample_t slev;            /* surround channels mix level */
-+
-+    int output;               /* type of output */
-+    sample_t level;           /* output level */
-+    sample_t bias;            /* output bias */
-+
-+    int dynrnge;              /* apply dynamic range */
-+    sample_t dynrng;          /* dynamic range */
-+    void * dynrngdata;        /* dynamic range callback funtion and data */
-+    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
-+
-+    uint8_t chincpl;          /* channel coupled */
-+    uint8_t phsflginu;        /* phase flags in use (stereo only) */
-+    uint8_t cplstrtmant;      /* coupling channel start mantissa */
-+    uint8_t cplendmant;       /* coupling channel end mantissa */
-+    uint32_t cplbndstrc;      /* coupling band structure */
-+    sample_t cplco[5][18];    /* coupling coordinates */
-+
-+    /* derived information */
-+    uint8_t cplstrtbnd;       /* coupling start band (for bit allocation) */
-+    uint8_t ncplbnd;          /* number of coupling bands */
-+
-+    uint8_t rematflg;         /* stereo rematrixing */
-+
-+    uint8_t endmant[5];       /* channel end mantissa */
-+
-+    uint16_t bai;             /* bit allocation information */
-+
-+    uint32_t * buffer_start;
-+    uint16_t lfsr_state;      /* dither state */
-+    uint32_t bits_left;
-+    uint32_t current_word;
-+
-+    uint8_t csnroffst;        /* coarse SNR offset */
-+    ba_t cplba;               /* coupling bit allocation parameters */
-+    ba_t ba[5];               /* channel bit allocation parameters */
-+    ba_t lfeba;               /* lfe bit allocation parameters */
-+
-+    uint8_t cplfleak;         /* coupling fast leak init */
-+    uint8_t cplsleak;         /* coupling slow leak init */
-+
-+    expbap_t cpl_expbap;
-+    expbap_t fbw_expbap[5];
-+    expbap_t lfe_expbap;
-+
-+    sample_t * samples;
-+    int downmixed;
-+} a52_state_t;
- 
- #define A52_CHANNEL 0
- #define A52_MONO 1
-diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
---- a52dec.old/liba52/a52_internal.h	2002-07-28 03:52:06.000000000 +0200
-+++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:11:47.000000000 +0200
-@@ -21,72 +21,6 @@
-  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-  */
- 
--typedef struct {
--    uint8_t bai;		/* fine SNR offset, fast gain */
--    uint8_t deltbae;		/* delta bit allocation exists */
--    int8_t deltba[50];		/* per-band delta bit allocation */
--} ba_t;
--
--typedef struct {
--    uint8_t exp[256];		/* decoded channel exponents */
--    int8_t bap[256];		/* derived channel bit allocation */
--} expbap_t;
--
--struct a52_state_s {
--    uint8_t fscod;		/* sample rate */
--    uint8_t halfrate;		/* halfrate factor */
--    uint8_t acmod;		/* coded channels */
--    uint8_t lfeon;		/* coded lfe channel */
--    sample_t clev;		/* centre channel mix level */
--    sample_t slev;		/* surround channels mix level */
--
--    int output;			/* type of output */
--    sample_t level;		/* output level */
--    sample_t bias;		/* output bias */
--
--    int dynrnge;		/* apply dynamic range */
--    sample_t dynrng;		/* dynamic range */
--    void * dynrngdata;		/* dynamic range callback funtion and data */
--    sample_t (* dynrngcall) (sample_t range, void * dynrngdata);
--
--    uint8_t chincpl;		/* channel coupled */
--    uint8_t phsflginu;		/* phase flags in use (stereo only) */
--    uint8_t cplstrtmant;	/* coupling channel start mantissa */
--    uint8_t cplendmant;		/* coupling channel end mantissa */
--    uint32_t cplbndstrc;	/* coupling band structure */
--    sample_t cplco[5][18];	/* coupling coordinates */
--
--    /* derived information */
--    uint8_t cplstrtbnd;		/* coupling start band (for bit allocation) */
--    uint8_t ncplbnd;		/* number of coupling bands */
--
--    uint8_t rematflg;		/* stereo rematrixing */
--
--    uint8_t endmant[5];		/* channel end mantissa */
--
--    uint16_t bai;		/* bit allocation information */
--
--    uint32_t * buffer_start;
--    uint16_t lfsr_state;	/* dither state */
--    uint32_t bits_left;
--    uint32_t current_word;
--
--    uint8_t csnroffst;		/* coarse SNR offset */
--    ba_t cplba;			/* coupling bit allocation parameters */
--    ba_t ba[5];			/* channel bit allocation parameters */
--    ba_t lfeba;			/* lfe bit allocation parameters */
--
--    uint8_t cplfleak;		/* coupling fast leak init */
--    uint8_t cplsleak;		/* coupling slow leak init */
--
--    expbap_t cpl_expbap;
--    expbap_t fbw_expbap[5];
--    expbap_t lfe_expbap;
--
--    sample_t * samples;
--    int downmixed;
--};
--
- #define LEVEL_PLUS6DB 2.0
- #define LEVEL_PLUS3DB 1.4142135623730951
- #define LEVEL_3DB 0.7071067811865476
diff --git a/pkgs/development/libraries/a52dec/A01-thread-safe.patch b/pkgs/development/libraries/a52dec/A01-thread-safe.patch
deleted file mode 100644
index 4ca2d1a087342..0000000000000
--- a/pkgs/development/libraries/a52dec/A01-thread-safe.patch
+++ /dev/null
@@ -1,462 +0,0 @@
-diff -Naur a52dec.old/include/a52.h a52dec.new/include/a52.h
---- a52dec.old/include/a52.h	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/include/a52.h	2012-07-16 14:31:37.000000000 +0200
-@@ -42,6 +42,11 @@
- } expbap_t;
- 
- typedef struct {
-+    sample_t real;
-+    sample_t imag;
-+} complex_t;
-+
-+typedef struct {
-     uint8_t fscod;            /* sample rate */
-     uint8_t halfrate;         /* halfrate factor */
-     uint8_t acmod;            /* coded channels */
-@@ -94,6 +99,20 @@
- 
-     sample_t * samples;
-     int downmixed;
-+
-+    /* Root values for IFFT */
-+    sample_t * roots16;           // size 3
-+    sample_t * roots32;           // size 7
-+    sample_t * roots64;           // size 15
-+    sample_t * roots128;          // size 31
-+
-+    /* Twiddle factors for IMDCT */
-+    complex_t * pre1;             // size 128
-+    complex_t * post1;            // size 64
-+    complex_t * pre2;             // size 64
-+    complex_t * post2;            // size 32
-+
-+    sample_t * a52_imdct_window;  // size 256
- } a52_state_t;
- 
- #define A52_CHANNEL 0
-diff -Naur a52dec.old/liba52/a52_internal.h a52dec.new/liba52/a52_internal.h
---- a52dec.old/liba52/a52_internal.h	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/liba52/a52_internal.h	2012-07-16 14:28:33.000000000 +0200
-@@ -49,6 +49,6 @@
- 		  sample_t clev, sample_t slev);
- void a52_upmix (sample_t * samples, int acmod, int output);
- 
--void a52_imdct_init (uint32_t mm_accel);
--void a52_imdct_256 (sample_t * data, sample_t * delay, sample_t bias);
--void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias);
-+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel);
-+void a52_imdct_256 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
-+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias);
-diff -Naur a52dec.old/liba52/imdct.c a52dec.new/liba52/imdct.c
---- a52dec.old/liba52/imdct.c	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/liba52/imdct.c	2012-07-16 14:33:00.000000000 +0200
-@@ -40,11 +40,6 @@
- #include "a52_internal.h"
- #include "mm_accel.h"
- 
--typedef struct complex_s {
--    sample_t real;
--    sample_t imag;
--} complex_t;
--
- static uint8_t fftorder[] = {
-       0,128, 64,192, 32,160,224, 96, 16,144, 80,208,240,112, 48,176,
-       8,136, 72,200, 40,168,232,104,248,120, 56,184, 24,152,216, 88,
-@@ -56,22 +51,8 @@
-       6,134, 70,198, 38,166,230,102,246,118, 54,182, 22,150,214, 86
- };
- 
--/* Root values for IFFT */
--static sample_t roots16[3];
--static sample_t roots32[7];
--static sample_t roots64[15];
--static sample_t roots128[31];
--
--/* Twiddle factors for IMDCT */
--static complex_t pre1[128];
--static complex_t post1[64];
--static complex_t pre2[64];
--static complex_t post2[32];
--
--static sample_t a52_imdct_window[256];
--
--static void (* ifft128) (complex_t * buf);
--static void (* ifft64) (complex_t * buf);
-+static void (* ifft128) (a52_state_t * state, complex_t * buf);
-+static void (* ifft64) (a52_state_t * state, complex_t * buf);
- 
- static inline void ifft2 (complex_t * buf)
- {
-@@ -167,7 +148,7 @@
-     a1.imag += tmp4;				\
- } while (0)
- 
--static inline void ifft8 (complex_t * buf)
-+static inline void ifft8 (a52_state_t * state, complex_t * buf)
- {
-     double tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7, tmp8;
- 
-@@ -175,7 +156,7 @@
-     ifft2 (buf + 4);
-     ifft2 (buf + 6);
-     BUTTERFLY_ZERO (buf[0], buf[2], buf[4], buf[6]);
--    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], roots16[1]);
-+    BUTTERFLY_HALF (buf[1], buf[3], buf[5], buf[7], state->roots16[1]);
- }
- 
- static void ifft_pass (complex_t * buf, sample_t * weight, int n)
-@@ -205,66 +186,66 @@
-     } while (--i);
- }
- 
--static void ifft16 (complex_t * buf)
-+static void ifft16 (a52_state_t * state, complex_t * buf)
- {
--    ifft8 (buf);
-+    ifft8 (state, buf);
-     ifft4 (buf + 8);
-     ifft4 (buf + 12);
--    ifft_pass (buf, roots16 - 4, 4);
-+    ifft_pass (buf, state->roots16 - 4, 4);
- }
- 
--static void ifft32 (complex_t * buf)
-+static void ifft32 (a52_state_t * state, complex_t * buf)
- {
--    ifft16 (buf);
--    ifft8 (buf + 16);
--    ifft8 (buf + 24);
--    ifft_pass (buf, roots32 - 8, 8);
-+    ifft16 (state, buf);
-+    ifft8 (state, buf + 16);
-+    ifft8 (state, buf + 24);
-+    ifft_pass (buf, state->roots32 - 8, 8);
- }
- 
--static void ifft64_c (complex_t * buf)
-+static void ifft64_c (a52_state_t * state, complex_t * buf)
- {
--    ifft32 (buf);
--    ifft16 (buf + 32);
--    ifft16 (buf + 48);
--    ifft_pass (buf, roots64 - 16, 16);
-+    ifft32 (state, buf);
-+    ifft16 (state, buf + 32);
-+    ifft16 (state, buf + 48);
-+    ifft_pass (buf, state->roots64 - 16, 16);
- }
- 
--static void ifft128_c (complex_t * buf)
-+static void ifft128_c (a52_state_t * state, complex_t * buf)
- {
--    ifft32 (buf);
--    ifft16 (buf + 32);
--    ifft16 (buf + 48);
--    ifft_pass (buf, roots64 - 16, 16);
-+    ifft32 (state, buf);
-+    ifft16 (state, buf + 32);
-+    ifft16 (state, buf + 48);
-+    ifft_pass (buf, state->roots64 - 16, 16);
- 
--    ifft32 (buf + 64);
--    ifft32 (buf + 96);
--    ifft_pass (buf, roots128 - 32, 32);
-+    ifft32 (state, buf + 64);
-+    ifft32 (state, buf + 96);
-+    ifft_pass (buf, state->roots128 - 32, 32);
- }
- 
--void a52_imdct_512 (sample_t * data, sample_t * delay, sample_t bias)
-+void a52_imdct_512 (a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
- {
-     int i, k;
-     sample_t t_r, t_i, a_r, a_i, b_r, b_i, w_1, w_2;
--    const sample_t * window = a52_imdct_window;
-+    const sample_t * window = state->a52_imdct_window;
-     complex_t buf[128];
- 	
-     for (i = 0; i < 128; i++) {
- 	k = fftorder[i];
--	t_r = pre1[i].real;
--	t_i = pre1[i].imag;
-+	t_r = state->pre1[i].real;
-+	t_i = state->pre1[i].imag;
- 
- 	buf[i].real = t_i * data[255-k] + t_r * data[k];
- 	buf[i].imag = t_r * data[255-k] - t_i * data[k];
-     }
- 
--    ifft128 (buf);
-+    ifft128 (state, buf);
- 
-     /* Post IFFT complex multiply plus IFFT complex conjugate*/
-     /* Window and convert to real valued signal */
-     for (i = 0; i < 64; i++) {
- 	/* y[n] = z[n] * (xcos1[n] + j * xsin1[n]) ; */
--	t_r = post1[i].real;
--	t_i = post1[i].imag;
-+	t_r = state->post1[i].real;
-+	t_i = state->post1[i].imag;
- 
- 	a_r = t_r * buf[i].real     + t_i * buf[i].imag;
- 	a_i = t_i * buf[i].real     - t_r * buf[i].imag;
-@@ -285,18 +266,18 @@
-     }
- }
- 
--void a52_imdct_256(sample_t * data, sample_t * delay, sample_t bias)
-+void a52_imdct_256(a52_state_t * state, sample_t * data, sample_t * delay, sample_t bias)
- {
-     int i, k;
-     sample_t t_r, t_i, a_r, a_i, b_r, b_i, c_r, c_i, d_r, d_i, w_1, w_2;
--    const sample_t * window = a52_imdct_window;
-+    const sample_t * window = state->a52_imdct_window;
-     complex_t buf1[64], buf2[64];
- 
-     /* Pre IFFT complex multiply plus IFFT cmplx conjugate */
-     for (i = 0; i < 64; i++) {
- 	k = fftorder[i];
--	t_r = pre2[i].real;
--	t_i = pre2[i].imag;
-+	t_r = state->pre2[i].real;
-+	t_i = state->pre2[i].imag;
- 
- 	buf1[i].real = t_i * data[254-k] + t_r * data[k];
- 	buf1[i].imag = t_r * data[254-k] - t_i * data[k];
-@@ -305,15 +286,15 @@
- 	buf2[i].imag = t_r * data[255-k] - t_i * data[k+1];
-     }
- 
--    ifft64 (buf1);
--    ifft64 (buf2);
-+    ifft64 (state, buf1);
-+    ifft64 (state, buf2);
- 
-     /* Post IFFT complex multiply */
-     /* Window and convert to real valued signal */
-     for (i = 0; i < 32; i++) {
- 	/* y1[n] = z1[n] * (xcos2[n] + j * xs in2[n]) ; */ 
--	t_r = post2[i].real;
--	t_i = post2[i].imag;
-+	t_r = state->post2[i].real;
-+	t_i = state->post2[i].imag;
- 
- 	a_r = t_r * buf1[i].real    + t_i * buf1[i].imag;
- 	a_i = t_i * buf1[i].real    - t_r * buf1[i].imag;
-@@ -362,7 +343,7 @@
-     return bessel;
- }
- 
--void a52_imdct_init (uint32_t mm_accel)
-+void a52_imdct_init (a52_state_t * state, uint32_t mm_accel)
- {
-     int i, k;
-     double sum;
-@@ -371,50 +352,50 @@
-     sum = 0;
-     for (i = 0; i < 256; i++) {
- 	sum += besselI0 (i * (256 - i) * (5 * M_PI / 256) * (5 * M_PI / 256));
--	a52_imdct_window[i] = sum;
-+	state->a52_imdct_window[i] = sum;
-     }
-     sum++;
-     for (i = 0; i < 256; i++)
--	a52_imdct_window[i] = sqrt (a52_imdct_window[i] / sum);
-+	state->a52_imdct_window[i] = sqrt (state->a52_imdct_window[i] / sum);
- 
-     for (i = 0; i < 3; i++)
--	roots16[i] = cos ((M_PI / 8) * (i + 1));
-+	state->roots16[i] = cos ((M_PI / 8) * (i + 1));
- 
-     for (i = 0; i < 7; i++)
--	roots32[i] = cos ((M_PI / 16) * (i + 1));
-+	state->roots32[i] = cos ((M_PI / 16) * (i + 1));
- 
-     for (i = 0; i < 15; i++)
--	roots64[i] = cos ((M_PI / 32) * (i + 1));
-+	state->roots64[i] = cos ((M_PI / 32) * (i + 1));
- 
-     for (i = 0; i < 31; i++)
--	roots128[i] = cos ((M_PI / 64) * (i + 1));
-+	state->roots128[i] = cos ((M_PI / 64) * (i + 1));
- 
-     for (i = 0; i < 64; i++) {
- 	k = fftorder[i] / 2 + 64;
--	pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
--	pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].real = cos ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].imag = sin ((M_PI / 256) * (k - 0.25));
-     }
- 
-     for (i = 64; i < 128; i++) {
- 	k = fftorder[i] / 2 + 64;
--	pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
--	pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].real = -cos ((M_PI / 256) * (k - 0.25));
-+	state->pre1[i].imag = -sin ((M_PI / 256) * (k - 0.25));
-     }
- 
-     for (i = 0; i < 64; i++) {
--	post1[i].real = cos ((M_PI / 256) * (i + 0.5));
--	post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
-+	state->post1[i].real = cos ((M_PI / 256) * (i + 0.5));
-+	state->post1[i].imag = sin ((M_PI / 256) * (i + 0.5));
-     }
- 
-     for (i = 0; i < 64; i++) {
- 	k = fftorder[i] / 4;
--	pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
--	pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
-+	state->pre2[i].real = cos ((M_PI / 128) * (k - 0.25));
-+	state->pre2[i].imag = sin ((M_PI / 128) * (k - 0.25));
-     }
- 
-     for (i = 0; i < 32; i++) {
--	post2[i].real = cos ((M_PI / 128) * (i + 0.5));
--	post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
-+	state->post2[i].real = cos ((M_PI / 128) * (i + 0.5));
-+	state->post2[i].imag = sin ((M_PI / 128) * (i + 0.5));
-     }
- 
- #ifdef LIBA52_DJBFFT
-diff -Naur a52dec.old/liba52/parse.c a52dec.new/liba52/parse.c
---- a52dec.old/liba52/parse.c	2012-07-16 14:24:14.000000000 +0200
-+++ a52dec.new/liba52/parse.c	2012-07-16 14:33:00.000000000 +0200
-@@ -56,16 +56,53 @@
-     a52_state_t * state;
-     int i;
- 
--    state = malloc (sizeof (a52_state_t));
-+    state = calloc (1, sizeof (a52_state_t));
-     if (state == NULL)
- 	return NULL;
- 
-     state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
-     if (state->samples == NULL) {
--	free (state);
--	return NULL;
-+        goto fail;
-     }
- 
-+    /* Root values for IFFT */
-+    state->roots16 = memalign (16, 3 * sizeof (sample_t));
-+    if (state->roots16 == NULL)
-+        goto fail;
-+
-+    state->roots32 = memalign (16, 7 * sizeof (sample_t));
-+    if (state->roots32 == NULL)
-+        goto fail;
-+
-+    state->roots64 = memalign (16, 15 * sizeof (sample_t));
-+    if (state->roots64 == NULL)
-+        goto fail;
-+
-+    state->roots128 = memalign (16, 31 * sizeof (sample_t));
-+    if (state->roots128 == NULL)
-+        goto fail;
-+
-+    /* Twiddle factors for IMDCT */
-+    state->pre1 = memalign (16, 128 * sizeof (complex_t));
-+    if (state->pre1 == NULL)
-+        goto fail;
-+
-+    state->post1 = memalign (16, 64 * sizeof (complex_t));
-+    if (state->post1 == NULL)
-+        goto fail;
-+
-+    state->pre2 = memalign (16, 64 * sizeof (complex_t));
-+    if (state->pre2 == NULL)
-+        goto fail;
-+
-+    state->post2 = memalign (16, 32 * sizeof (complex_t));
-+    if (state->post2 == NULL)
-+        goto fail;
-+
-+    state->a52_imdct_window = memalign (16, 256 * sizeof (sample_t));
-+    if (state->a52_imdct_window == NULL)
-+        goto fail;
-+
-     for (i = 0; i < 256 * 12; i++)
- 	state->samples[i] = 0;
- 
-@@ -73,9 +110,27 @@
- 
-     state->lfsr_state = 1;
- 
--    a52_imdct_init (mm_accel);
-+    a52_imdct_init (state, mm_accel);
- 
-     return state;
-+
-+fail:
-+    if ( state )
-+    {
-+        free (state->a52_imdct_window);
-+        free (state->post2);
-+        free (state->pre2);
-+        free (state->post1);
-+        free (state->pre1);
-+        free (state->roots128);
-+        free (state->roots64);
-+        free (state->roots32);
-+        free (state->roots16);
-+        free (state->samples);
-+        free (state);
-+    }
-+    return NULL;
-+
- }
- 
- sample_t * a52_samples (a52_state_t * state)
-@@ -825,7 +880,7 @@
- 		       state->dynrng, 0, 7);
- 	    for (i = 7; i < 256; i++)
- 		(samples-256)[i] = 0;
--	    a52_imdct_512 (samples - 256, samples + 1536 - 256, state->bias);
-+	    a52_imdct_512 (state, samples - 256, samples + 1536 - 256, state->bias);
- 	} else {
- 	    /* just skip the LFE coefficients */
- 	    coeff_get (state, samples + 1280, &state->lfe_expbap, &quantizer,
-@@ -854,10 +909,10 @@
- 
- 	    if (coeff[i]) {
- 		if (blksw[i])
--		    a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
-+		    a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 				   bias);
- 		else 
--		    a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
-+		    a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 				   bias);
- 	    } else {
- 		int j;
-@@ -883,11 +938,11 @@
- 
- 	if (blksw[0])
- 	    for (i = 0; i < nfchans; i++)
--		a52_imdct_256 (samples + 256 * i, samples + 1536 + 256 * i,
-+		a52_imdct_256 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 			       state->bias);
- 	else 
- 	    for (i = 0; i < nfchans; i++)
--		a52_imdct_512 (samples + 256 * i, samples + 1536 + 256 * i,
-+		a52_imdct_512 (state, samples + 256 * i, samples + 1536 + 256 * i,
- 			       state->bias);
-     }
- 
-@@ -896,6 +951,15 @@
- 
- void a52_free (a52_state_t * state)
- {
-+    free (state->a52_imdct_window);
-+    free (state->post2);
-+    free (state->pre2);
-+    free (state->post1);
-+    free (state->pre1);
-+    free (state->roots128);
-+    free (state->roots64);
-+    free (state->roots32);
-+    free (state->roots16);
-     free (state->samples);
-     free (state);
- }
diff --git a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch b/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
deleted file mode 100644
index a22e5979e665d..0000000000000
--- a/pkgs/development/libraries/a52dec/A02-imdct-shutup.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur a52dec_original/liba52/imdct.c a52dec_patched/liba52/imdct.c
---- a52dec.old/liba52/imdct.c	2002-07-28 03:52:07.000000000 +0200
-+++ a52dec.new/liba52/imdct.c	2011-07-15 20:29:09.000000000 +0200
-@@ -425,7 +425,6 @@
-     } else
- #endif
-     {
--	fprintf (stderr, "No accelerated IMDCT transform found\n");
- 	ifft128 = ifft128_c;
- 	ifft64 = ifft64_c;
-     }
diff --git a/pkgs/development/libraries/a52dec/A03-automake.patch b/pkgs/development/libraries/a52dec/A03-automake.patch
deleted file mode 100644
index 142091dc6957d..0000000000000
--- a/pkgs/development/libraries/a52dec/A03-automake.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur a52dec.orig/configure.in a52dec/configure.in
---- a52dec.orig/configure.in	2002-07-27 23:50:20.000000000 -0400
-+++ a52dec/configure.in	2013-01-28 21:06:27.000000000 -0500
-@@ -6,7 +6,7 @@
- AC_CONFIG_FILES([Makefile autotools/Makefile include/Makefile test/Makefile
-     doc/Makefile src/Makefile liba52/Makefile libao/Makefile vc++/Makefile])
- AM_INIT_AUTOMAKE([a52dec],[0.7.4])
--AM_CONFIG_HEADER(include/config.h)
-+AC_CONFIG_HEADER(include/config.h)
- AM_MAINTAINER_MODE
- AC_CANONICAL_HOST
- 
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index d8a56a3d28ed4..ef1307c971124 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -2,23 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "a52dec-0.7.4p4";
-  
+
   src = fetchurl {
     url = "${meta.homepage}/files/a52dec-0.7.4.tar.gz";
     sha256 = "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2";
   };
 
-  # From Handbrake
-  patches = [
-    ./A00-a52-state-t-public.patch
-    ./A01-thread-safe.patch
-    ./A02-imdct-shutup.patch
-    ./A03-automake.patch
-  ];
+  # fails 1 out of 1 tests with "BAD GLOBAL SYMBOLS" on i686
+  # which can also be fixed with
+  # hardeningDisable = stdenv.lib.optional stdenv.isi686 "pic";
+  # but it's better to disable tests than loose ASLR on i686
+  doCheck = !stdenv.isi686;
 
   meta = {
     description = "ATSC A/52 stream decoder";
     homepage = http://liba52.sourceforge.net/;
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/aacskeys/default.nix b/pkgs/development/libraries/aacskeys/default.nix
index b90db614e4a17..9e28bfd4fe2cd 100644
--- a/pkgs/development/libraries/aacskeys/default.nix
+++ b/pkgs/development/libraries/aacskeys/default.nix
@@ -38,9 +38,10 @@ stdenv.mkDerivation {
     install -Dm444 ProcessingDeviceKeysSimple.txt $out/share/${baseName}
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://forum.doom9.org/showthread.php?t=123311;
     description = "A library and program to retrieve decryption keys for HD discs";
-    platforms = stdenv.lib.platforms.linux;
+    platforms = platforms.linux;
+    license = licenses.publicDomain;
   };
 }
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix
index 69d736d447685..8b1878b0cc301 100644
--- a/pkgs/development/libraries/aalib/default.nix
+++ b/pkgs/development/libraries/aalib/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ ncurses ];
 
-  configureFlags = "--without-x --with-ncurses=${ncurses.dev}";
+  configureFlags = [ "--without-x" "--with-ncurses=${ncurses.dev}" ];
 
   postInstall = ''
     mkdir -p $dev/bin
@@ -36,5 +36,6 @@ stdenv.mkDerivation {
   meta = {
     description = "ASCII art graphics library";
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index d1b3b9b98271a..36d7912d0f8a8 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.45";
+  version = "0.6.50";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "09pg25ir7kjigvp2cxd9fkfw8c8ql8vrswfvymg9zmbmma9w43zv";
+    url = "https://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
+    sha256 = "0jn7vg1z4vxnna0hl33hbcb4bb3zpilxc2vyclh24vx4vvsjhn83";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "D-Bus interface for user account query and manipulation";
-    homepage = http://www.freedesktop.org/wiki/Software/AccountsService;
+    homepage = https://www.freedesktop.org/wiki/Software/AccountsService;
     license = licenses.gpl3;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index d61315f7db853..a1741513642fb 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ace-${version}";
-  version = "6.4.7";
+  version = "6.5.1";
 
   src = fetchurl {
     url = "http://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "1zbncdxkkwnx4aphy0apnp7xn4aspxvq2h9bbjh33dpsy0j81afd";
+    sha256 = "1vwhyk0lrpnn78xx212d16lf7vl2q6651wc8vxqbd296x6wbnh2y";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 3c6f42e5cbf8f..f9bb982a7842a 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     echo "Removing C++-style comments from include/acl.h"
     sed -e '/^\/\//d' -i include/acl.h
+
+    patchShebangs .
   '';
 
   configureFlags = [ "MAKE=make" "MSGFMT=msgfmt" "MSGMERGE=msgmerge" "XGETTEXT=xgettext" "ZIP=gzip" "ECHO=echo" "SED=sed" "AWK=gawk" ];
diff --git a/pkgs/development/libraries/adns/default.nix b/pkgs/development/libraries/adns/default.nix
index 3db15892a144f..0f0e30ef0f3b4 100644
--- a/pkgs/development/libraries/adns/default.nix
+++ b/pkgs/development/libraries/adns/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     urls = [
-      "http://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-${version}.tar.gz"
+      "https://www.chiark.greenend.org.uk/~ian/adns/ftp/adns-${version}.tar.gz"
       "ftp://ftp.chiark.greenend.org.uk/users/ian/adns/adns-${version}.tar.gz"
       "mirror://gnu/adns/adns-${version}.tar.gz"
     ];
diff --git a/pkgs/development/libraries/afflib/default.nix b/pkgs/development/libraries/afflib/default.nix
index b398af0db344f..a1c466605228e 100644
--- a/pkgs/development/libraries/afflib/default.nix
+++ b/pkgs/development/libraries/afflib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, zlib, curl, expat, fuse, openssl
-, autoreconfHook, python
+, autoreconfHook, python3
 }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ zlib curl expat fuse openssl python ];
+  buildInputs = [ zlib curl expat fuse openssl python3 ];
 
   meta = {
     homepage = http://afflib.sourceforge.net/;
diff --git a/pkgs/development/libraries/agda/agda-stdlib/default.nix b/pkgs/development/libraries/agda/agda-stdlib/default.nix
index c72572139c688..bd4270e8b9358 100644
--- a/pkgs/development/libraries/agda/agda-stdlib/default.nix
+++ b/pkgs/development/libraries/agda/agda-stdlib/default.nix
@@ -1,14 +1,14 @@
 { stdenv, agda, fetchFromGitHub, ghcWithPackages }:
 
 agda.mkDerivation (self: rec {
-  version = "0.15";
+  version = "0.16";
   name = "agda-stdlib-${version}";
 
   src = fetchFromGitHub {
     repo = "agda-stdlib";
     owner = "agda";
     rev = "v${version}";
-    sha256 = "0c2vfib4fmljy98c3s3s7jmpjlqxvsbv7wf6qxr38kamwzbryrjj";
+    sha256 = "0kqfx6742vbyyr8glqm5bkvj0z0y0dkaajlw10p3pzidrc17767r";
   };
 
   nativeBuildInputs = [ (ghcWithPackages (self : [ self.filemanip ])) ];
@@ -23,6 +23,7 @@ agda.mkDerivation (self: rec {
     description = "A standard library for use with the Agda compiler";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
+    broken = stdenv.isDarwin;
     maintainers = with maintainers; [ jwiegley fuuzetsu mudri ];
   };
 })
diff --git a/pkgs/development/libraries/agda/pretty/default.nix b/pkgs/development/libraries/agda/pretty/default.nix
index 25e6ff6667fe8..0e4f1da6e1407 100644
--- a/pkgs/development/libraries/agda/pretty/default.nix
+++ b/pkgs/development/libraries/agda/pretty/default.nix
@@ -21,5 +21,6 @@ agda.mkDerivation (self: rec {
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with maintainers; [ fuuzetsu ];
+    broken = true; # 2018-04-11
   };
 })
diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix
index c7f5ac866609d..c0539aeed4764 100644
--- a/pkgs/development/libraries/agg/default.nix
+++ b/pkgs/development/libraries/agg/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sh autogen.sh
   '';
 
-  configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib";
+  configureFlags = [ "--x-includes=${libX11.dev}/include" "--x-libraries=${libX11.out}/lib" "--enable-examples=no" ];
 
   # libtool --tag=CXX --mode=link g++ -g -O2 libexamples.la ../src/platform/X11/libaggplatformX11.la ../src/libagg.la -o alpha_mask2 alpha_mask2.o
   # libtool: error: cannot find the library 'libexamples.la'
diff --git a/pkgs/development/libraries/alembic/default.nix b/pkgs/development/libraries/alembic/default.nix
index 2276264e03f1a..015c48d01411f 100644
--- a/pkgs/development/libraries/alembic/default.nix
+++ b/pkgs/development/libraries/alembic/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "alembic-${version}";
-  version = "1.7.7";
+  version = "1.7.8";
 
   src = fetchFromGitHub {
     owner = "alembic";
     repo = "alembic";
     rev = "${version}";
-    sha256 = "16cgzn8cz3qbfpfh53bhn4ibwp5ddam3vxgz8zaglbj7z1a3pxfv";
+    sha256 = "1xmndhcliz25cgdzb7ybkvb05w4klmngpk76fzghamwyi79zfs2c";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/alkimia/default.nix b/pkgs/development/libraries/alkimia/default.nix
new file mode 100644
index 0000000000000..6f4fd09015e5e
--- /dev/null
+++ b/pkgs/development/libraries/alkimia/default.nix
@@ -0,0 +1,31 @@
+{ mkDerivation, fetchurl, lib
+, extra-cmake-modules, doxygen, graphviz, qtbase, mpir
+}:
+
+mkDerivation rec {
+  name = "alkimia-${version}";
+  version = "7.0.1";
+
+  src = fetchurl {
+    url = "mirror://kde/stable/alkimia/${version}/src/${name}.tar.xz";
+    sha256 = "1fri76465058fgsyrmdrc3hj1javz4g10mfzqp5rsj7qncjr1i22";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules doxygen graphviz ];
+
+  buildInputs = [ qtbase ];
+  propagatedBuildInputs = [ mpir ];
+
+  meta = {
+    description = "Library used by KDE finance applications";
+    longDescription = ''
+      Alkimia is the infrastructure for common storage and business
+      logic that will be used by all financial applications in KDE.
+
+      The target is to share financial related information over
+      application bounderies.
+    '';
+    license = lib.licenses.lgpl21Plus;
+    platforms = qtbase.meta.platforms;
+  };
+}
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index e20b2700f0e21..5e82a1a3c6be8 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A game programming library";
-    homepage = http://liballeg.org/;
+    homepage = https://liballeg.org/;
     license = licenses.zlib;
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index 12b2cbf07071d..21d9ce23d319b 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A game programming library";
-    homepage = http://liballeg.org/;
+    homepage = https://liballeg.org/;
     license = licenses.free; # giftware
     maintainers = [ maintainers.raskin ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/amtk/default.nix b/pkgs/development/libraries/amtk/default.nix
new file mode 100644
index 0000000000000..8ef8353e4e0cb
--- /dev/null
+++ b/pkgs/development/libraries/amtk/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl
+, pkgconfig, gnome3, dbus, xvfb_run }:
+let
+  version = "5.0.0";
+  pname = "amtk";
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1zriix7bdwcg0868mfc7jy6zbwjwdmjwbh0ah6dbddrhiabrda8j";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    dbus
+  ];
+
+  buildInputs = [
+    gnome3.gtk
+  ];
+
+  doCheck = stdenv.isLinux;
+  checkPhase = ''
+    export NO_AT_BRIDGE=1
+    ${xvfb_run}/bin/xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
+      --config-file=${dbus.daemon}/share/dbus-1/session.conf \
+      make check
+  '';
+
+  passthru.updateScript = gnome3.updateScript { packageName = pname; };
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Amtk;
+    description = "Actions, Menus and Toolbars Kit for GTK+ applications";
+    maintainers = [ maintainers.manveru ];
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index 2499a424c85c2..48dfe9ad894eb 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchFromGitHub, substituteAll, pkgconfig, gettext, gtk3, glib
 , gtk-doc, libarchive, gobjectIntrospection, libxslt, pngquant
-, sqlite, libsoup, gcab, attr, acl, docbook_xsl, docbook_xml_dtd_42
+, sqlite, libsoup, attr, acl, docbook_xsl, docbook_xml_dtd_42
 , libuuid, json-glib, meson, gperf, ninja
 }:
 stdenv.mkDerivation rec {
-  name = "appstream-glib-0.7.7";
+  name = "appstream-glib-0.7.10";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
   outputBin = "dev";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "appstream-glib";
     rev = stdenv.lib.replaceStrings ["." "-"] ["_" "_"] name;
-    sha256 = "127m5ds355i1vfvmn9nd4zqqnqm16jpqcn4p2p2pvn7i4wqxra40";
+    sha256 = "1m4gww09id7hwzh4hri1y3hp7p0mdrf6fk9f924r2w66hlsdil0d";
   };
 
   nativeBuildInputs = [
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     glib gettext sqlite libsoup
-    gcab attr acl libuuid json-glib
+    attr acl libuuid json-glib
     libarchive gobjectIntrospection gperf
   ];
   propagatedBuildInputs = [ gtk3 ];
@@ -39,6 +39,8 @@ stdenv.mkDerivation rec {
     "-Ddep11=false"
   ];
 
+  doCheck = false; # fails at least 1 test
+
   postInstall = ''
     moveToOutput "share/installed-tests" "$installedTests"
   '';
diff --git a/pkgs/development/libraries/appstream/default.nix b/pkgs/development/libraries/appstream/default.nix
index 61ee182ce6270..5e4218852e518 100644
--- a/pkgs/development/libraries/appstream/default.nix
+++ b/pkgs/development/libraries/appstream/default.nix
@@ -1,36 +1,27 @@
 { stdenv, fetchpatch, fetchFromGitHub, meson, ninja, pkgconfig, gettext
 , xmlto, docbook_xsl, docbook_xml_dtd_45, libxslt
 , libstemmer, glib, xapian, libxml2, libyaml, gobjectIntrospection
-, pcre, itstool
+, pcre, itstool, gperf, vala
 }:
 
 stdenv.mkDerivation rec {
   name = "appstream-${version}";
-  version = "0.11.8";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner  = "ximion";
     repo   = "appstream";
     rev    = "APPSTREAM_${stdenv.lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "07vzz57g1p5byj2jfg17y5n3il0g07d9wkiynzwra71mcxar1p08";
+    sha256 = "1g15c4bhyl730rgaiqia3jppraixh05c3yx098lyilidbddxp5xb";
   };
 
-  patches = [
-    # drop this in version 0.11.9 and above
-    (fetchpatch {
-      name   = "define-location-and-soname.patch";
-      url    = "https://github.com/ximion/appstream/commit/3e58f9c9.patch";
-      sha256 = "1ffgbdfg80yq5vahjrvdd4f8xsp32ksm9vyasfmc7hzhx294s78w";
-    })
-  ];
-
   nativeBuildInputs = [
     meson ninja pkgconfig gettext
     libxslt xmlto docbook_xsl docbook_xml_dtd_45
-    gobjectIntrospection itstool
+    gobjectIntrospection itstool vala
   ];
 
-  buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml ];
+  buildInputs = [ libstemmer pcre glib xapian libxml2 libyaml gperf ];
 
   prePatch = ''
     substituteInPlace meson.build \
@@ -43,7 +34,7 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dapidocs=false"
     "-Ddocs=false"
-    "-Dgir=false"
+    "-Dvapi=true"
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/appstream/qt.nix b/pkgs/development/libraries/appstream/qt.nix
index beff83f2365b4..c5a251cd5f9f7 100644
--- a/pkgs/development/libraries/appstream/qt.nix
+++ b/pkgs/development/libraries/appstream/qt.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "appstream-qt-${version}";
-  inherit (appstream) version src patches prePatch;
+  inherit (appstream) version src prePatch;
 
   buildInputs = appstream.buildInputs ++ [ appstream qtbase ];
 
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 7e7864cef52cc..4e2de01e9adb9 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--with-apr=${apr.dev}" "--with-expat=${expat.dev}" ]
     ++ optional (!stdenv.isCygwin) "--with-crypto"
     ++ optional sslSupport "--with-openssl=${openssl.dev}"
-    ++ optional bdbSupport "--with-berkeley-db=${db}"
+    ++ optional bdbSupport "--with-berkeley-db=${db.dev}"
     ++ optional ldapSupport "--with-ldap=ldap"
     ++ optionals stdenv.isCygwin
       [ "--without-pgsql" "--without-sqlite2" "--without-sqlite3"
@@ -44,9 +44,10 @@ stdenv.mkDerivation rec {
     ++ optional stdenv.isFreeBSD cyrus_sasl;
 
   postInstall = ''
-    for f in $out/lib/*.la $out/lib/apr-util-1/*.la; do
+    for f in $out/lib/*.la $out/lib/apr-util-1/*.la $dev/bin/apu-1-config; do
       substituteInPlace $f \
         --replace "${expat.dev}/lib" "${expat.out}/lib" \
+        --replace "${db.dev}/lib" "${db.out}/lib" \
         --replace "${openssl.dev}/lib" "${openssl.out}/lib"
     done
 
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index ecdeb35f6edaa..7d7acf90a95c2 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -10,6 +10,11 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
 
+  # This test needs the net
+  postPatch = ''
+    rm test/testsock.*
+  '';
+
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
diff --git a/pkgs/development/libraries/aqbanking/default.nix b/pkgs/development/libraries/aqbanking/default.nix
index ad930a705c57f..b26291469e753 100644
--- a/pkgs/development/libraries/aqbanking/default.nix
+++ b/pkgs/development/libraries/aqbanking/default.nix
@@ -2,13 +2,14 @@
 , pkgconfig, gettext, xmlsec, zlib
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).aqbanking) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "aqbanking-${version}";
-  version = "5.6.10";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).aqbanking) sha256 releaseId;
-    qstring = "package=03&release=${releaseId}&file=01";
+    qstring = "package=03&release=${releaseId}&file=02";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
     name = "${name}.tar.gz";
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 28039cc01686e..bb337e471cfcd 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -1,4 +1,8 @@
-{ stdenv, fetchurl, gnutls, gtk2, libgcrypt, pkgconfig, gettext, qt4
+{ stdenv, fetchurl, gnutls, openssl, libgcrypt, libgpgerror, pkgconfig, gettext
+, which
+
+# GUI support
+, gtk2, gtk3, qt5
 
 , pluginSearchPaths ? [
     "/run/current-system/sw/lib/gwenhywfar/plugins"
@@ -6,13 +10,14 @@
   ]
 }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).gwenhywfar) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "gwenhywfar-${version}";
-  version = "4.15.3";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).gwenhywfar) sha256 releaseId;
-    qstring = "package=01&release=${releaseId}&file=01";
+    qstring = "package=01&release=${releaseId}&file=02";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
     name = "${name}.tar.gz";
@@ -20,6 +25,15 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
+  configureFlags = [
+    "--with-openssl-includes=${openssl.dev}/include"
+    "--with-openssl-libs=${openssl.out}/lib"
+  ];
+
+  preConfigure = ''
+    configureFlagsArray+=("--with-guis=gtk2 gtk3 qt5")
+  '';
+
   postPatch = let
     isRelative = path: builtins.substring 0 1 path != "/";
     mkSearchPath = path: ''
@@ -43,11 +57,9 @@ stdenv.mkDerivation rec {
       configure
   '';
 
-  nativeBuildInputs = [ pkgconfig gettext ];
-
-  buildInputs = [ gtk2 qt4 gnutls libgcrypt ];
+  nativeBuildInputs = [ pkgconfig gettext which ];
 
-  QTDIR = qt4;
+  buildInputs = [ gtk2 gtk3 qt5.qtbase gnutls openssl libgcrypt libgpgerror ];
 
   meta = with stdenv.lib; {
     description = "OS abstraction functions used by aqbanking and related tools";
diff --git a/pkgs/development/libraries/aqbanking/libchipcard.nix b/pkgs/development/libraries/aqbanking/libchipcard.nix
index 1ac00c3fe8828..9a0b70e0d97fa 100644
--- a/pkgs/development/libraries/aqbanking/libchipcard.nix
+++ b/pkgs/development/libraries/aqbanking/libchipcard.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, pkgconfig, gwenhywfar, pcsclite, zlib }:
 
-stdenv.mkDerivation rec {
+let
+  inherit ((import ./sources.nix).libchipcard) sha256 releaseId version;
+in stdenv.mkDerivation rec {
   name = "libchipcard-${version}";
-  version = "5.0.4";
+  inherit version;
 
   src = let
-    inherit ((import ./sources.nix).libchipcard) sha256 releaseId;
     qstring = "package=02&release=${releaseId}&file=01";
     mkURLs = map (base: "${base}/sites/download/download.php?${qstring}");
   in fetchurl {
diff --git a/pkgs/development/libraries/aqbanking/sources.nix b/pkgs/development/libraries/aqbanking/sources.nix
index 1638c72e95f5c..884543d282a7a 100644
--- a/pkgs/development/libraries/aqbanking/sources.nix
+++ b/pkgs/development/libraries/aqbanking/sources.nix
@@ -1,12 +1,12 @@
 # This file is autogenerated from update.sh in the same directory.
 {
-  gwenhywfar.version = "4.17.0";
-  gwenhywfar.sha256 = "1z9bm2r407x8vxk2nk6pndx0zhlk32j65z472ljkgjbh56mgzz8i";
-  gwenhywfar.releaseId = "205";
+  gwenhywfar.version = "4.20.0";
+  gwenhywfar.sha256 = "1c0g3f8jk6j693774ifslx2ds4ksabgbbalhhm9gk20kpamxm22s";
+  gwenhywfar.releaseId = "208";
   libchipcard.version = "5.0.4";
   libchipcard.sha256 = "0fj2h39ll4kiv28ch8qgzdbdbnzs8gl812qnm660bw89rynpjnnj";
   libchipcard.releaseId = "200";
-  aqbanking.version = "5.6.12";
-  aqbanking.sha256 = "08jbwmiv6f3v8iqdr44x4szna496fqcjfi6mlx04cnbx91m70lh6";
-  aqbanking.releaseId = "208";
+  aqbanking.version = "5.7.8";
+  aqbanking.sha256 = "0s67mysskbiw1h1p0np4ph4351r7wq3nc873vylam7lsqi66xy0n";
+  aqbanking.releaseId = "217";
 }
diff --git a/pkgs/development/libraries/arb/default.nix b/pkgs/development/libraries/arb/default.nix
index c4b37ddb78fdf..bca519c762833 100644
--- a/pkgs/development/libraries/arb/default.nix
+++ b/pkgs/development/libraries/arb/default.nix
@@ -1,21 +1,27 @@
-{stdenv, fetchFromGitHub, mpir, gmp, mpfr, flint}:
+{stdenv, fetchFromGitHub, fetchpatch, mpir, gmp, mpfr, flint}:
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "arb";
-  version = "2.8.1";
+  version = "2.14.0";
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "15phk71ci9rr32aqznpkd2b993wjahsgliilkg4mnxsr86nwdf6x";
+    sha256 = "1ndxg7h4xvccjgp5l9z2f8b66dsff6fhf86bn5n7f75a1ksd7554";
   };
   buildInputs = [mpir gmp mpfr flint];
-  configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-flint=${flint}";
-  meta = {
+  configureFlags = [
+    "--with-gmp=${gmp}"
+    "--with-mpir=${mpir}"
+    "--with-mpfr=${mpfr}"
+    "--with-flint=${flint}"
+  ];
+  doCheck = true;
+  meta = with stdenv.lib; {
     inherit version;
     description = ''A library for arbitrary-precision interval arithmetic'';
     license = stdenv.lib.licenses.lgpl21Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
+    maintainers = with maintainers; [ raskin timokau ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/arb/git.nix b/pkgs/development/libraries/arb/git.nix
index 87b884fece10a..a281e2a085feb 100644
--- a/pkgs/development/libraries/arb/git.nix
+++ b/pkgs/development/libraries/arb/git.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation rec {
     rev = "10bc615ce5999caf4723444b2b1219b74781d8a4";
     sha256 = "1xb40x3hv9nh76aizhskj5gdhalgn7r95a7zji2nn4ih3lmh40hl";
   };
-  buildInputs = [mpir gmp mpfr flint];
-  configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-flint=${flint}";
+  buildInputs = [ mpir gmp mpfr flint ];
+  configureFlags = [ "--with-gmp=${gmp}" "--with-mpir=${mpir}" "--with-mpfr=${mpfr}" "--with-flint=${flint}" ];
   meta = {
     inherit version;
     description = ''A library for arbitrary-precision interval arithmetic'';
diff --git a/pkgs/development/libraries/arguments/default.nix b/pkgs/development/libraries/arguments/default.nix
new file mode 100644
index 0000000000000..60fafd60ad0b6
--- /dev/null
+++ b/pkgs/development/libraries/arguments/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+stdenv.mkDerivation rec {
+  pname = "arguments";
+  name  = "${pname}-2015-11-30";
+
+  owner = "BIC-MNI";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "b3aad97f6b6892cb8733455d0d448649a48fa108";
+    sha256 = "1ar8lm1w1jflz3vdmjr5c4x6y7rscvrj78b8gmrv79y95qrgzv6s";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ ];
+
+  #cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBICPL_DIR=${bicpl}/lib" "-DBUILD_TESTING=FALSE" ];
+
+  checkPhase = "ctest --output-on-failure";
+  doCheck = false;
+  # internal_volume_io.h: No such file or directory
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Library for argument handling for MINC programs";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix b/pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix
deleted file mode 100755
index 8adbef8f5764e..0000000000000
--- a/pkgs/development/libraries/arm-frc-linux-gnueabi-eglibc/default.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{stdenv, fetchurl, arm-frc-linux-gnueabi-linux-api-headers}:
-
-let
-  _target = "arm-frc-linux-gnueabi";
-  _basever = "2.21-r0.83";
-  srcs = [
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "117058215440e258027bb9ff18db63c078d55288787dbedfcd5730c06c7a1ae9";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6-dev_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "e28b05d498c1160949f51539270035e12c5bb9d75d68df1f5f111a8fc087f3a6";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libcidn1_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "0f7372590abf69da54a9b7db8f944cf6c48d9ac8a091218ee60f84fdd9de2398";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6-thread-db_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "5a839498507a0b63165cb7a78234d7eb2ee2bb6a046bff586090f2e70e0e2bfb";
-    })
-    (fetchurl {
-      url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/libc6-extra-nss_${_basever}_cortexa9-vfpv3.ipk";
-      sha256 = "d765d43c8ec95a4c64fa38eddf8cee848fd090d9cc5b9fcda6d2c9b03d2635c5";
-    })
-  ];
-in
-stdenv.mkDerivation rec {
-  version = "2.21";
-  name = "${_target}-eglibc-${version}";
-
-  sourceRoot = ".";
-  inherit srcs;
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  unpackCmd = ''
-      ar x $curSrc
-      tar xf data.tar.gz
-  '';
-
-  installPhase = ''
-    mkdir -p $out/${_target}
-    rm -rf lib/eglibc
-    find . \( -name .install -o -name ..install.cmd \) -delete
-    cp -r lib $out/${_target}
-    cp -r usr $out/${_target}
-
-    cp -r ${arm-frc-linux-gnueabi-linux-api-headers}/* $out
-  '';
-
-  meta = {
-    description = "FRC standard C lib";
-    longDescription = ''
-      eglibc library for the NI RoboRio to be used in compiling frc user
-      programs.
-    '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.colescott ];
-    platforms = stdenv.lib.platforms.linux;
-
-    priority = 2;
-  };
-}
diff --git a/pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix b/pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix
deleted file mode 100755
index 29e349e0a820f..0000000000000
--- a/pkgs/development/libraries/arm-frc-linux-gnueabi-linux-api-headers/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{stdenv, fetchurl}:
-
-let
-  _target = "arm-frc-linux-gnueabi";
-  _basever = "3.19-r0.36";
-  src = fetchurl {
-    url = "http://download.ni.com/ni-linux-rt/feeds/2016/arm/ipk/cortexa9-vfpv3/linux-libc-headers-dev_${_basever}_cortexa9-vfpv3.ipk";
-    sha256 = "10066ddb9a19bf764a9a67919a7976478041e98c44c19308f076c78ecb07408c";
-  };
-in
-stdenv.mkDerivation rec {
-  version = "3.19";
-  name = "${_target}-linux-api-headers-${version}";
-
-  sourceRoot = ".";
-  inherit src;
-
-  phases = [ "unpackPhase" "installPhase" ];
-
-  unpackCmd = ''
-    ar x $curSrc
-    tar xf data.tar.gz
-  '';
-
-  installPhase = ''
-    mkdir -p $out/${_target}
-    find . \( -name .install -o -name ..install.cmd \) -delete
-    cp -r usr/ $out/${_target}
-  '';
-
-  meta = {
-    description = "FRC linux api headers";
-    longDescription = ''
-      All linux api headers required to compile the arm-frc-linux-gnuaebi-gcc
-      cross compiler and all user programs.
-    '';
-    license = stdenv.lib.licenses.gpl2;
-    maintainers = [ stdenv.lib.maintainers.colescott ];
-    platforms = stdenv.lib.platforms.linux;
-
-    priority = 1;
-  };
-}
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index a5ca79c0d82e9..16ba6b32382a2 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, openblasCompat, superlu, hdf5 }:
 
 stdenv.mkDerivation rec {
-  version = "8.400.0";
+  version = "9.100.5";
   name = "armadillo-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "16yxhn904ll48879vmycv84rja28im0mrcfgb03nm7bs8lpvrdjw";
+    sha256 = "1ka1vd9fcmvp12qkcm4888dkfqwnalvv00x04wy29f3nx3qwczby";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
new file mode 100644
index 0000000000000..8e89aeb21a243
--- /dev/null
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, symlinkJoin, fetchurl, boost, brotli, cmake, flatbuffers, gtest, gflags, lz4, python, rapidjson, snappy, zlib, zstd }:
+
+stdenv.mkDerivation rec {
+  name = "arrow-cpp-${version}";
+  version = "0.10.0";
+
+  src = fetchurl {
+    url = "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
+    sha256 = "0bc4krapz1kzdm16npzmgdz7zvg9lip6rnqbwph8vfn7zji0fcll";
+  };
+
+  sourceRoot = "apache-arrow-${version}/cpp";
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost python.pkgs.python python.pkgs.numpy ];
+
+  preConfigure = ''
+    substituteInPlace cmake_modules/FindBrotli.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindLz4.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+  '';
+
+  BROTLI_HOME = symlinkJoin { name="brotli-wrap"; paths = [ brotli.lib brotli.dev ]; };
+  FLATBUFFERS_HOME = flatbuffers;
+  GTEST_HOME = gtest;
+  GFLAGS_HOME = gflags;
+  LZ4_HOME = symlinkJoin { name="lz4-wrap"; paths = [ lz4 lz4.dev ]; };
+  RAPIDJSON_HOME = rapidjson;
+  SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
+  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
+  ZSTD_HOME = zstd;
+
+  cmakeFlags = [
+    "-DARROW_PYTHON=ON"
+  ];
+
+  meta = {
+    description = "A  cross-language development platform for in-memory data";
+    homepage = https://arrow.apache.org/;
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/libraries/asio/1.10.nix b/pkgs/development/libraries/asio/1.10.nix
new file mode 100644
index 0000000000000..f63fbbd495cb7
--- /dev/null
+++ b/pkgs/development/libraries/asio/1.10.nix
@@ -0,0 +1,6 @@
+{callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  version = "1.10.8";
+  sha256 = "0jgdl4fxw0hwy768rl3lhdc0czz7ak7czf3dg10j21pdpfpfvpi6";
+})
diff --git a/pkgs/development/libraries/asio/1.12.nix b/pkgs/development/libraries/asio/1.12.nix
new file mode 100644
index 0000000000000..94fe4c7036702
--- /dev/null
+++ b/pkgs/development/libraries/asio/1.12.nix
@@ -0,0 +1,6 @@
+{callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  version = "1.12.1";
+  sha256 = "0nln45662kg799ykvqx5m9z9qcsmadmgg6r5najryls7x16in2d9";
+})
diff --git a/pkgs/development/libraries/asio/default.nix b/pkgs/development/libraries/asio/default.nix
deleted file mode 100644
index ad601359019e3..0000000000000
--- a/pkgs/development/libraries/asio/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{stdenv, fetchurl, boost, openssl}:
-
-stdenv.mkDerivation rec {
-  name = "asio-1.12.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/asio/${name}.tar.bz2";
-    sha256 = "1bfk746kcs3cmvfvxjp3w9y6zpybjj8s002jjd3snrp2syd0nd9c";
-  };
-
-  propagatedBuildInputs = [ boost ];
-  buildInputs = [ openssl ];
-
-  meta = {
-    homepage = http://asio.sourceforge.net/;
-    description = "Cross-platform C++ library for network and low-level I/O programming";
-    license = stdenv.lib.licenses.boost;
-    platforms = stdenv.lib.platforms.unix;
-  };
-
-}
diff --git a/pkgs/development/libraries/asio/generic.nix b/pkgs/development/libraries/asio/generic.nix
new file mode 100644
index 0000000000000..58dd4f6142313
--- /dev/null
+++ b/pkgs/development/libraries/asio/generic.nix
@@ -0,0 +1,25 @@
+{stdenv, fetchurl, boost, openssl
+, version, sha256, ...
+}:
+
+with stdenv.lib;
+
+stdenv.mkDerivation {
+  name = "asio-${version}";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/asio/asio-${version}.tar.bz2";
+    inherit sha256;
+  };
+
+  propagatedBuildInputs = [ boost ];
+
+  buildInputs = [ openssl ];
+
+  meta = {
+    homepage = http://asio.sourceforge.net/;
+    description = "Cross-platform C++ library for network and low-level I/O programming";
+    license = licenses.boost;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/aspell/dictionaries.nix b/pkgs/development/libraries/aspell/dictionaries.nix
index 096ac80e5a70a..d62e22fe0e005 100644
--- a/pkgs/development/libraries/aspell/dictionaries.nix
+++ b/pkgs/development/libraries/aspell/dictionaries.nix
@@ -109,110 +109,110 @@ in rec {
 
   ### Languages
 
-  ca = buildDict {
+  ca = buildDict rec {
     shortName = "ca-2.1.5-1";
     fullName = "Catalan";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/ca/aspell6-ca-2.1.5-1.tar.bz2;
+      url = "mirror://gnu/aspell/dict/ca/aspell6-${shortName}.tar.bz2";
       sha256 = "1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb";
     };
   };
 
-  cs = buildDict {
+  cs = buildDict rec {
     shortName = "cs-20040614-1";
     fullName = "Czech";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/cs/aspell6-cs-20040614-1.tar.bz2;
+      url = "mirror://gnu/aspell/dict/cs/aspell6-${shortName}.tar.bz2";
       sha256 = "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01";
     };
   };
 
-  da = buildDict {
+  da = buildDict rec {
     shortName = "da-1.4.42-1";
     fullName = "Danish";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/da/aspell5-da-1.4.42-1.tar.bz2;
+      url = "mirror://gnu/aspell/dict/da/aspell5-${shortName}.tar.bz2";
       sha256 = "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp";
     };
   };
 
-  de = buildDict {
+  de = buildDict rec {
     shortName = "de-20030222-1";
     fullName = "German";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/de/aspell6-de-20030222-1.tar.bz2;
+      url = "mirror://gnu/aspell/dict/de/aspell6-${shortName}.tar.bz2";
       sha256 = "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s";
     };
   };
 
-  en = buildDict {
+  en = buildDict rec {
     shortName = "en-2016.06.26-0";
     fullName = "English";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/en/aspell6-en-2016.06.26-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/en/aspell6-${shortName}.tar.bz2";
       sha256 = "1clzsfq2cbgp6wvfr2qwfsd2nziipml5m5vqm45r748wczlxihv1";
     };
   };
 
-  es = buildDict {
+  es = buildDict rec {
     shortName = "es-1.11-2";
     fullName = "Spanish";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/es/aspell6-es-1.11-2.tar.bz2;
+      url = "mirror://gnu/aspell/dict/es/aspell6-${shortName}.tar.bz2";
       sha256 = "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd";
     };
   };
 
-  eo = buildDict {
+  eo = buildDict rec {
     shortName = "eo-2.1.20000225a-2";
     fullName = "Esperanto";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/eo/aspell6-eo-2.1.20000225a-2.tar.bz2;
+      url = "mirror://gnu/aspell/dict/eo/aspell6-${shortName}.tar.bz2";
       sha256 = "09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1";
     };
   };
 
-  fr = buildDict {
+  fr = buildDict rec {
     shortName = "fr-0.50-3";
     fullName = "French";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/fr/aspell-fr-0.50-3.tar.bz2;
+      url = "mirror://gnu/aspell/dict/fr/aspell-${shortName}.tar.bz2";
       sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr";
     };
   };
 
-  it = buildDict {
+  it = buildDict rec {
     shortName = "it-2.2_20050523-0";
     fullName = "Italian";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/it/aspell6-it-2.2_20050523-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/it/aspell6-${shortName}.tar.bz2";
       sha256 = "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v";
     };
   };
 
-  la = buildDict {
+  la = buildDict rec {
     shortName = "la-20020503-0";
     fullName = "Latin";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/la/aspell6-la-20020503-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/la/aspell6-${shortName}.tar.bz2";
       sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl";
     };
   };
 
-  nb = buildDict {
+  nb = buildDict rec {
     shortName = "nb-0.50.1-0";
     fullName = "Norwegian Bokmal";
     src = fetchurl {
-      url = "mirror://gnu/aspell/dict/nb/aspell-nb-0.50.1-0.tar.bz2";
+      url = "mirror://gnu/aspell/dict/nb/aspell-${shortName}.tar.bz2";
       sha256 = "12i2bmgdnlkzfinb20j2a0j4a20q91a9j8qpq5vgabbvc65nwx77";
     };
   };
 
-  nl = buildDict {
+  nl = buildDict rec {
     shortName = "nl-0.50-2";
     fullName = "Dutch";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/nl/aspell-nl-0.50-2.tar.bz2;
+      url = "mirror://gnu/aspell/dict/nl/aspell-${shortName}.tar.bz2";
       sha256 = "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4";
     };
     # Emacs expects a language called "nederlands".
@@ -221,92 +221,92 @@ in rec {
     '';
   };
 
-  nn = buildDict {
-    shortName = "nn-0.50.1-0";
+  nn = buildDict rec {
+    shortName = "nn-0.50.1-1";
     fullName = "Norwegian Nynorsk";
     src = fetchurl {
-      url = "mirror://gnu/aspell/dict/nn/aspell-nn-0.50.1-1.tar.bz2";
+      url = "mirror://gnu/aspell/dict/nn/aspell-${shortName}.tar.bz2";
       sha256 = "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc";
     };
   };
 
-  pl = buildDict {
+  pl = buildDict rec {
     shortName = "pl-6.0_20061121-0";
     fullName = "Polish";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/pl/aspell6-pl-6.0_20061121-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/pl/aspell6-${shortName}.tar.bz2";
       sha256 = "0kap4kh6bqbb22ypja1m5z3krc06vv4n0hakiiqmv20anzy42xq1";
     };
   };
 
-  pt_BR = buildDict {
-    shortName = "pt_BR-20090702";
+  pt_BR = buildDict rec {
+    shortName = "pt_BR-20090702-0";
     fullName = "Brazilian Portuguese";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/pt_BR/aspell6-pt_BR-20090702-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/pt_BR/aspell6-${shortName}.tar.bz2";
       sha256 = "1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p";
     };
   };
 
-  pt_PT = buildDict {
-    shortName = "pt_PT-20070510";
+  pt_PT = buildDict rec {
+    shortName = "pt_PT-20070510-0";
     fullName = "Portuguese";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/pt_PT/aspell6-pt_PT-20070510-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/pt_PT/aspell6-${shortName}.tar.bz2";
       sha256 = "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq";
     };
   };
 
-  ro = buildDict {
+  ro = buildDict rec {
     shortName = "ro-3.3-2";
     fullName = "Romanian";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/ro/aspell5-ro-3.3-2.tar.bz2;
+      url = "mirror://gnu/aspell/dict/ro/aspell5-${shortName}.tar.bz2";
       sha256 = "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk";
     };
   };
 
-  ru = buildDict {
+  ru = buildDict rec {
     shortName = "ru-0.99f7-1";
     fullName = "Russian";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/ru/aspell6-ru-0.99f7-1.tar.bz2;
+      url = "mirror://gnu/aspell/dict/ru/aspell6-${shortName}.tar.bz2";
       sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw";
     };
   };
 
-  sv = buildDict {
+  sv = buildDict rec {
     shortName = "sv-0.51-0";
     fullName = "Swedish";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/sv/aspell-sv-0.51-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/sv/aspell-${shortName}.tar.bz2";
       sha256 = "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v";
     };
   };
 
-  sk = buildDict {
+  sk = buildDict rec {
     shortName = "sk-2.01-2";
     fullName = "Slovak";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/sk/aspell6-sk-2.01-2.tar.bz2;
+      url = "mirror://gnu/aspell/dict/sk/aspell6-${shortName}.tar.bz2";
       sha256 = "19k0m1v5pcf7xr4lxgjkzqkdlks8nyb13bvi1n7521f3i4lhma66";
     };
   };
 
-  tr = buildDict {
+  tr = buildDict rec {
     shortName = "tr-0.50-0";
     fullName = "Turkish";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/tr/aspell-tr-0.50-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/tr/aspell-${shortName}.tar.bz2";
       sha256 = "0jpvpm96ga7s7rmsm6rbyrrr22b2dicxv2hy7ysv5y7bbq757ihb";
     };
   };
 
-  uk = buildDict {
+  uk = buildDict rec {
     shortName = "uk-1.4.0-0";
     fullName = "Ukrainian";
     src = fetchurl {
-      url = mirror://gnu/aspell/dict/uk/aspell6-uk-1.4.0-0.tar.bz2;
+      url = "mirror://gnu/aspell/dict/uk/aspell6-${shortName}.tar.bz2";
       sha256 = "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m";
     };
   };
diff --git a/pkgs/development/libraries/assimp/default.nix b/pkgs/development/libraries/assimp/default.nix
index 219c8df803b76..24e06b0d65a9a 100644
--- a/pkgs/development/libraries/assimp/default.nix
+++ b/pkgs/development/libraries/assimp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, boost, zlib }:
+{ stdenv, fetchFromGitHub, cmake, boost, zlib }:
 
 stdenv.mkDerivation rec {
   name = "assimp-${version}";
diff --git a/pkgs/development/libraries/at-spi2-atk/default.nix b/pkgs/development/libraries/at-spi2-atk/default.nix
index 86f35d7f578e8..f1db64cc9ea55 100644
--- a/pkgs/development/libraries/at-spi2-atk/default.nix
+++ b/pkgs/development/libraries/at-spi2-atk/default.nix
@@ -1,22 +1,48 @@
-{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xorg, libXi
-, intltool, dbus-glib, at-spi2-core, libSM }:
+{ stdenv
+, fetchurl
+
+, meson
+, ninja
+, pkgconfig
+
+, at-spi2-core
+, atk
+, dbus
+, glib
+, libxml2
+, fixDarwinDylibNames
+
+, gnome3 # To pass updateScript
+}:
 
 stdenv.mkDerivation rec {
-  versionMajor = "2.26";
-  versionMinor = "1";
-  moduleName   = "at-spi2-atk";
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
+  name = "${pname}-${version}";
+  pname = "at-spi2-atk";
+  version = "2.26.2";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "0x9vc99ni46fg5dzlx67vbw0zqffr24gz8jvbdxbmzyvc5xw5w5l";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "0vkan52ab9vrkknnv8y4f1cspk8x7xd10qx92xk9ys71p851z2b1";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
-  buildInputs = [ python popt atk libX11 libICE xorg.libXtst libXi
-                  dbus-glib at-spi2-core libSM ];
+  nativeBuildInputs = [ meson ninja pkgconfig ]
+    # Fixup rpaths because of meson, remove with meson-0.47
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  buildInputs = [ at-spi2-core atk dbus glib libxml2 ];
+
+  doCheck = false; # fails with "No test data file provided"
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
 
   meta = with stdenv.lib; {
+    description = "D-Bus bridge for Assistive Technology Service Provider Interface (AT-SPI) and Accessibility Toolkit (ATK)";
+    homepage = https://gitlab.gnome.org/GNOME/at-spi2-atk;
+    license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-atk/issues/2
+    maintainers = with maintainers; [ jtojnar gnome3.maintainers ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index b717101b3e13d..d9251c2bdc5d4 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -1,32 +1,51 @@
-{ stdenv, fetchurl, python, pkgconfig, popt, gettext, dbus-glib
-, libX11, xextproto, libSM, libICE, libXtst, libXi, gobjectIntrospection }:
+{ stdenv
+, fetchurl
+
+, meson
+, ninja
+, pkgconfig
+, gobjectIntrospection
+
+, dbus
+, glib
+, libX11
+, libXtst # at-spi2-core can be build without X support, but due it is a client-side library, GUI-less usage is a very rare case
+, libXi
+, fixDarwinDylibNames
+
+, gnome3 # To pass updateScript
+}:
 
 stdenv.mkDerivation rec {
-  versionMajor = "2.26";
-  versionMinor = "2";
-  moduleName   = "at-spi2-core";
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
+  name = "${pname}-${version}";
+  pname = "at-spi2-core";
+  version = "2.28.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
-    sha256 = "0596ghkamkxgv08r4a1pdhm06qd5zzgcfqsv64038w9xbvghq3n8";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "11qwdxxx4jm0zj04xydlwah41axiz276dckkiql3rr0wn5x4i8j2";
   };
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection ];
-  buildInputs = [
-    python popt dbus-glib
-    libX11 xextproto libSM libICE libXtst libXi
-  ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ]
+    # Fixup rpaths because of meson, remove with meson-0.47
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  buildInputs = [ dbus glib libX11 libXtst libXi ];
 
-  # ToDo: on non-NixOS we create a symlink from there?
-  configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
+  doCheck = false; # fails with "AT-SPI: Couldn't connect to accessibility bus. Is at-spi-bus-launcher running?"
 
-  NIX_LDFLAGS = with stdenv; lib.optionalString isDarwin "-lintl";
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
 
   meta = with stdenv.lib; {
+    description = "Assistive Technology Service Provider Interface protocol definitions and daemon for D-Bus";
+    homepage = https://gitlab.gnome.org/GNOME/at-spi2-core;
+    license = licenses.lgpl2Plus; # NOTE: 2018-06-06: Please check the license when upstream sorts-out licensing: https://gitlab.gnome.org/GNOME/at-spi2-core/issues/2
+    maintainers = with maintainers; [ jtojnar gnome3.maintainers ];
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index efbc94457bf56..813f8c3c9640b 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, meson, ninja, gettext, pkgconfig, glib
-, fixDarwinDylibNames, libintlOrEmpty, gobjectIntrospection, gnome3
+, fixDarwinDylibNames, gobjectIntrospection, gnome3
 }:
 
 let
@@ -25,8 +25,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = libintlOrEmpty
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
 
@@ -35,8 +34,6 @@ stdenv.mkDerivation rec {
     glib
   ];
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index 0bfeaf81a81d0..96fe5b89a18ce 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -18,6 +18,12 @@ stdenv.mkDerivation rec {
 
   patches = if (hostPlatform.libc == "musl") then [ ./fix-headers-musl.patch ] else null;
 
+  postPatch = ''
+    for script in install-sh include/install-sh; do
+      patchShebangs $script
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = "http://savannah.nongnu.org/projects/attr/";
     description = "Library and tools for manipulating extended attributes";
diff --git a/pkgs/development/libraries/aubio/default.nix b/pkgs/development/libraries/aubio/default.nix
index 51ae14be4046b..adcb86cedf844 100644
--- a/pkgs/development/libraries/aubio/default.nix
+++ b/pkgs/development/libraries/aubio/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "aubio-0.4.6";
 
   src = fetchurl {
-    url = "http://aubio.org/pub/${name}.tar.bz2";
+    url = "https://aubio.org/pub/${name}.tar.bz2";
     sha256 = "1yvwskahx1bf3x2fvi6cwah1ay11iarh79fjlqz8s887y3hkpixx";
   };
 
diff --git a/pkgs/development/libraries/audio/jamomacore/default.nix b/pkgs/development/libraries/audio/jamomacore/default.nix
index 7057b020d4297..4e316ff1c9911 100644
--- a/pkgs/development/libraries/audio/jamomacore/default.nix
+++ b/pkgs/development/libraries/audio/jamomacore/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.bsd3;
     maintainers = [ stdenv.lib.maintainers.magnetophon ];
     platforms = stdenv.lib.platforms.linux;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/development/libraries/audio/libbass/default.nix b/pkgs/development/libraries/audio/libbass/default.nix
index 4c2918c922da4..ec93e2f64671f 100644
--- a/pkgs/development/libraries/audio/libbass/default.nix
+++ b/pkgs/development/libraries/audio/libbass/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, unzip, fetchurl, writeText }:
+{ stdenv, unzip, fetchurl }:
 
 let
   version = "24";
@@ -11,7 +11,7 @@ let
         x86_64-linux = "x64/libbass.so";
       };
       urlpath = "bass${version}-linux.zip";
-      sha256 = "1a2z9isabkymz7qmkgklbjpj2wxkvv1cngfp9aj0c9178v97pjd7";
+      sha256 = "0alxx7knkvzwwifqrmzavafwq53flja7s1ckaabk6p2ir2f0j5cp";
     };
 
     bass_fx = {
diff --git a/pkgs/development/libraries/audio/libmysofa/default.nix b/pkgs/development/libraries/audio/libmysofa/default.nix
new file mode 100644
index 0000000000000..d802d70adf3b9
--- /dev/null
+++ b/pkgs/development/libraries/audio/libmysofa/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub, cmake, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "libmysofa-${version}";
+  version = "0.6";
+
+  src = fetchFromGitHub {
+    owner = "hoene";
+    repo = "libmysofa";
+    rev = "v${version}";
+    sha256 = "160gcmsn6dwaca29bs95nsgjdalwc299lip0h37k3jcbxxkchgsh";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ zlib ];
+
+  cmakeFlags = [ "-DBUILD_TESTS=OFF" ];
+
+  meta = with stdenv.lib; {
+    description = "Reader for AES SOFA files to get better HRTFs";
+    homepage = https://github.com/hoene/libmysofa;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index 427625d6fc673..f28e374c852ac 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "lilv-${version}";
-  version = "0.24.2";
+  version = "0.24.4";
 
   src = fetchurl {
-    url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "08m5a372pr1l7aii9s3pic5nm68gynx1n1bc7bnlswziq6qnbv7p";
+    url = "https://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "0f24cd7wkk5l969857g2ydz2kjjrkvvddg1g87xzzs78lsvq8fy3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/audio/rtaudio/default.nix b/pkgs/development/libraries/audio/rtaudio/default.nix
index 326572996b487..7f1e3d941a1a1 100644
--- a/pkgs/development/libraries/audio/rtaudio/default.nix
+++ b/pkgs/development/libraries/audio/rtaudio/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool, libjack2,  alsaLib, rtmidi }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.2";
+  version = "5.0.0";
   name = "rtaudio-${version}";
 
   src = fetchFromGitHub {
     owner = "thestk";
     repo = "rtaudio";
     rev = "${version}";
-    sha256 = "09j84l9l3q0g238z5k89rm8hgk0i1ir8917an7amq474nwjp80pq";
+    sha256 = "0jkqnhc2pq31nmq4daxhmqdjgv2qi4ib27hwms2r5zhnmvvzlr67";
   };
 
+  enableParallelBuilding = true;
+
   buildInputs = [ autoconf automake libtool libjack2 alsaLib rtmidi ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/audio/rtmidi/default.nix b/pkgs/development/libraries/audio/rtmidi/default.nix
index 022c550459676..0f3f1fce42b06 100644
--- a/pkgs/development/libraries/audio/rtmidi/default.nix
+++ b/pkgs/development/libraries/audio/rtmidi/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "11pl45lp8sq5xkpipwk622w508nw0qcxr03ibicqn1lsws0hva96";
   };
 
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ autoconf automake libtool libjack2 alsaLib ];
 
diff --git a/pkgs/development/libraries/audio/sratom/default.nix b/pkgs/development/libraries/audio/sratom/default.nix
index d30cb1d369ebc..acfbced527207 100644
--- a/pkgs/development/libraries/audio/sratom/default.nix
+++ b/pkgs/development/libraries/audio/sratom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sratom-${version}";
-  version = "0.6.0";
+  version = "0.6.2";
 
   src = fetchurl {
-    url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "0hrxd9i66s06bpn6i3s9ka95134g3sm8yscmif7qgdzhyjqw42j4";
+    url = "https://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "0lz883ravxjf7r9wwbx2gx9m8vhyiavxrl9jdxfppjxnsralll8a";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index 63f43ac7a2c01..e29c7b5cb1227 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   name = "${pname}-qt${if withQt4 then "4" else "5"}-${version}";
 
   src = fetchurl {
-    url = "http://download.drobilla.net/${pname}-${version}.tar.bz2";
+    url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
     sha256 = "0j489gm3fhnmwmbgw30bvd4byw1vsy4yazdlnji8jzhcz0qwb5cq";
   };
 
diff --git a/pkgs/development/libraries/audio/vamp/default.nix b/pkgs/development/libraries/audio/vamp/default.nix
index 8098ac9f3efb0..f8b1006d2eb78 100644
--- a/pkgs/development/libraries/audio/vamp/default.nix
+++ b/pkgs/development/libraries/audio/vamp/default.nix
@@ -1,16 +1,19 @@
 # set VAMP_PATH ?
 # plugins availible on sourceforge and http://www.vamp-plugins.org/download.html (various licenses)
 
-{ stdenv, fetchurl, pkgconfig, libsndfile }:
+{ stdenv, fetchFromGitHub, pkgconfig, libsndfile }:
 
 rec {
 
   vampSDK = stdenv.mkDerivation {
-    name = "vamp-sdk-2.5";
+    name = "vamp-sdk-2.7.1";
+    # version = "2.7.1";
 
-    src = fetchurl {
-      url = http://code.soundsoftware.ac.uk/attachments/download/690/vamp-plugin-sdk-2.5.tar.gz;
-      sha256 = "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv";
+    src = fetchFromGitHub {
+      owner = "c4dm";
+      repo = "vamp-plugin-sdk";
+      rev = "vamp-plugin-sdk-v2.7.1";
+      sha256 = "1ifd6l6b89pg83ss4gld5i72fr0cczjnl2by44z5jnndsg3sklw4";
     };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/audio/zita-convolver/default.nix b/pkgs/development/libraries/audio/zita-convolver/default.nix
index 578bc7f4a2dc4..11a06d4f39ace 100644
--- a/pkgs/development/libraries/audio/zita-convolver/default.nix
+++ b/pkgs/development/libraries/audio/zita-convolver/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "zita-convolver-${version}";
-  version = "3.1.0";
+  version = "4.0.0";
   src = fetchurl {
     url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/${name}.tar.bz2";
-    sha256 = "14qrnczhp5mbwhky64il7kxc4hl1mmh495v60va7i2qnhasr6zmz";
+    sha256 = "0fx7f48ls0rlndqrmd4k7ifpnml39yxzc2f0n6xyysypgn06y673";
   };
 
   buildInputs = [ fftwFloat ];
@@ -15,11 +15,14 @@ stdenv.mkDerivation rec {
     sed -e "s@ldconfig@@" -i Makefile
   '';
 
-  installPhase = ''
-    make PREFIX="$out" SUFFIX="" install
+  makeFlags = [
+    "PREFIX=$(out)"
+    "SUFFIX="
+  ];
 
+  postInstall = ''
     # create lib link for building apps
-    ln -s $out/lib/libzita-convolver.so.$version $out/lib/libzita-convolver.so.3
+    ln -s $out/lib/libzita-convolver.so.${version} $out/lib/libzita-convolver.so.${stdenv.lib.versions.major version}
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/audiofile/default.nix b/pkgs/development/libraries/audiofile/default.nix
index 182471acf4ae5..1ed457aa5fe19 100644
--- a/pkgs/development/libraries/audiofile/default.nix
+++ b/pkgs/development/libraries/audiofile/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     ];
 
   src = fetchurl {
-    url = "http://audiofile.68k.org/${name}.tar.gz";
+    url = "https://audiofile.68k.org/${name}.tar.gz";
     sha256 = "0rb927zknk9kmhprd8rdr4azql4gn2dp75a36iazx2xhkbqhvind";
   };
 
diff --git a/pkgs/development/libraries/avahi/default.nix b/pkgs/development/libraries/avahi/default.nix
index 098378701d572..53e3f5468abc8 100644
--- a/pkgs/development/libraries/avahi/default.nix
+++ b/pkgs/development/libraries/avahi/default.nix
@@ -20,13 +20,15 @@ stdenv.mkDerivation rec {
   buildInputs = [ libdaemon dbus perl perlXMLParser glib expat libiconv ]
     ++ (stdenv.lib.optional qt4Support qt4);
 
-  nativeBuildInputs = [ pkgconfig gettext intltool ];
+  nativeBuildInputs = [ pkgconfig gettext intltool glib ];
 
   configureFlags =
     [ "--disable-qt3" "--disable-gdbm" "--disable-mono"
       "--disable-gtk" "--disable-gtk3"
       "--${if qt4Support then "enable" else "disable"}-qt4"
-      "--disable-python" "--localstatedir=/var" "--with-distro=none" ]
+      "--disable-python" "--localstatedir=/var" "--with-distro=none"
+      # A systemd unit is provided by the avahi-daemon NixOS module
+      "--with-systemdsystemunitdir=no" ]
     ++ stdenv.lib.optional withLibdnssdCompat "--enable-compat-libdns_sd"
     # autoipd won't build on darwin
     ++ stdenv.lib.optional stdenv.isDarwin "--disable-autoipd";
diff --git a/pkgs/development/libraries/avro-c/default.nix b/pkgs/development/libraries/avro-c/default.nix
index 8b787855c4dee..580cd1bd73f5b 100644
--- a/pkgs/development/libraries/avro-c/default.nix
+++ b/pkgs/development/libraries/avro-c/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, bash, cmake, fetchurl, pkgconfig, jansson, zlib }:
+{ stdenv, cmake, fetchurl, pkgconfig, jansson, zlib }:
 
 let
   version = "1.8.2";
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 11005d6097af0..9afb03e0d0c60 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -15,13 +15,13 @@ let
         else throw "Unsupported system!";
 in stdenv.mkDerivation rec {
   name = "aws-sdk-cpp-${version}";
-  version = "1.4.24";
+  version = "1.5.17";
 
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-sdk-cpp";
     rev = version;
-    sha256 = "1prkivapmzjcsykxj42h0p27kjhc66hir0h2j6rz0yqdfr4pyhgl";
+    sha256 = "0mmzf3js6090kk9vdwrmib5cjny43mqf044iynkhkglzvwhadc8z";
   };
 
   # FIXME: might be nice to put different APIs in different outputs
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index be4cf809f0c50..1e341d3124b41 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "babl-0.1.44";
+  name = "babl-0.1.56";
 
   src = fetchurl {
-    url = "http://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
-    sha256 = "0zfy1jrwdp4ja2f1rqa2m46vx6nilm73f72d4d1c8d65vshgsqzl";
+    url = "https://ftp.gtk.org/pub/babl/0.1/${name}.tar.bz2";
+    sha256 = "0a2dvihah1j7qi5dp1qzzlwklcqnndmxsm7lc7i78g7c2yknrlla";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/bamf/default.nix b/pkgs/development/libraries/bamf/default.nix
new file mode 100644
index 0000000000000..0a2badea7cbfb
--- /dev/null
+++ b/pkgs/development/libraries/bamf/default.nix
@@ -0,0 +1,69 @@
+{ stdenv, fetchurl, libgtop, libwnck3, glib, vala, pkgconfig
+, libstartup_notification, gobjectIntrospection, gtk-doc
+, xorgserver, dbus, python2 }:
+
+stdenv.mkDerivation rec {
+  pname = "bamf";
+  version = "0.5.3";
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "https://launchpad.net/${pname}/0.5/${version}/+download/${name}.tar.gz";
+    sha256 = "051vib8ndp09ph5bfwkgmzda94varzjafwxf6lqx7z1s8rd7n39l";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    gtk-doc
+    gobjectIntrospection
+    vala
+    # Tests
+    xorgserver
+    dbus
+    (python2.withPackages (pkgs: with pkgs; [ libxslt libxml2 ]))
+  ];
+
+  buildInputs = [
+    libgtop
+    libwnck3
+    libstartup_notification
+    glib
+  ];
+
+  # Fix hard-coded path
+  # https://bugs.launchpad.net/bamf/+bug/1780557
+  postPatch = ''
+    substituteInPlace data/Makefile.in \
+      --replace '/usr/lib/systemd/user' '@prefix@/lib/systemd/user'
+  '';
+
+  configureFlags = [
+    "--enable-headless-tests"
+  ];
+
+  # fix paths
+  makeFlags = [
+    "INTROSPECTION_GIRDIR=$(dev)/share/gir-1.0/"
+    "INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0"
+  ];
+
+  # TODO: Requires /etc/machine-id
+  doCheck = false;
+
+  # ignore deprecation errors
+  NIX_CFLAGS_COMPILE = "-Wno-deprecated-declarations";
+
+  meta = with stdenv.lib; {
+    description = "Application matching framework";
+    longDescription = ''
+      Removes the headache of applications matching
+      into a simple DBus daemon and c wrapper library.
+    '';
+    homepage = https://launchpad.net/bamf;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ davidak ];
+  };
+}
diff --git a/pkgs/development/libraries/beecrypt/default.nix b/pkgs/development/libraries/beecrypt/default.nix
index a48de9a03f21b..d7d6ef5451639 100644
--- a/pkgs/development/libraries/beecrypt/default.nix
+++ b/pkgs/development/libraries/beecrypt/default.nix
@@ -6,10 +6,11 @@ stdenv.mkDerivation {
     url = mirror://sourceforge/beecrypt/beecrypt-4.2.1.tar.gz;
     sha256 = "0pf5k1c4nsj77jfq5ip0ra1gzx2q47xaa0s008fnn6hd11b1yvr8";
   };
-  buildInputs = [m4];
-  configureFlags = "--disable-optimized --enable-static";
+  buildInputs = [ m4 ];
+  configureFlags = [ "--disable-optimized" "--enable-static" ];
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index 8805dc74a26c3..093bb811489fc 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, fetchFromGitHub, bctoolbox, belr }:
+{ stdenv, cmake, fetchFromGitHub, bctoolbox, belr }:
 
 stdenv.mkDerivation rec {
   baseName = "belcard";
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index 003fce0ea8c31..09ca4908d7891 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, antlr3_4, libantlr3c, jre, polarssl, fetchFromGitHub
+{ stdenv, antlr3_4, libantlr3c, jre, polarssl, fetchFromGitHub
   , cmake, zlib, bctoolbox
 }:
 
diff --git a/pkgs/development/libraries/belr/default.nix b/pkgs/development/libraries/belr/default.nix
index 214abb21f2cda..736c9a2f9e0ce 100644
--- a/pkgs/development/libraries/belr/default.nix
+++ b/pkgs/development/libraries/belr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, fetchFromGitHub, bctoolbox }:
+{ stdenv, cmake, fetchFromGitHub, bctoolbox }:
 
 stdenv.mkDerivation rec {
   baseName = "belr";
diff --git a/pkgs/development/libraries/blitz/default.nix b/pkgs/development/libraries/blitz/default.nix
index 5ae9ead9ced41..503e4b0fa43b2 100644
--- a/pkgs/development/libraries/blitz/default.nix
+++ b/pkgs/development/libraries/blitz/default.nix
@@ -19,7 +19,7 @@
 assert enableSerialization -> boost != null;
 
 let
-  inherit (stdenv.lib) optional optionals optionalString;
+  inherit (stdenv.lib) optional optionals;
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/bobcat/default.nix b/pkgs/development/libraries/bobcat/default.nix
index dd7d6a3486717..812ad546f866a 100644
--- a/pkgs/development/libraries/bobcat/default.nix
+++ b/pkgs/development/libraries/bobcat/default.nix
@@ -4,10 +4,10 @@
 
 stdenv.mkDerivation rec {
   name = "bobcat-${version}";
-  version = "4.07.00";
+  version = "4.08.03";
 
   src = fetchFromGitHub {
-    sha256 = "0ja6rgdw4ng10acp2c0cv9k72i5sgng03i3xi2yshlm2811lgxcs";
+    sha256 = "163mdl8hxids7123bjxmqhcaqyc1dv7hv8k33s713ac6lzawarq2";
     rev = version;
     repo = "bobcat";
     owner = "fbb-git";
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index d4e91deb74499..c11d6689624d3 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -1,17 +1,18 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libatomic_ops, enableLargeConfig ? false
+{ lib, stdenv, fetchurl, fetchpatch, pkgconfig, libatomic_ops
+, enableLargeConfig ? false # doc: https://github.com/ivmai/bdwgc/blob/v7.6.6/doc/README.macros#L179
 , buildPlatform, hostPlatform
 }:
 
 stdenv.mkDerivation rec {
   name = "boehm-gc-${version}";
-  version = "7.6.4";
+  version = "7.6.6";
 
   src = fetchurl {
     urls = [
       "http://www.hboehm.info/gc/gc_source/gc-${version}.tar.gz"
       "https://github.com/ivmai/bdwgc/releases/download/v${version}/gc-${version}.tar.gz"
     ];
-    sha256 = "076dzsqqyxd3nlzs0z277vvhqjp8nv5dqi763s0m90zr6ljiyk5r";
+    sha256 = "1p1r015a7jbpvkkbgzv1y8nxrbbp6dg0mq3ksi6ji0qdz3wfss79";
   };
 
   buildInputs = [ libatomic_ops ];
@@ -25,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   patches = [ (fetchpatch {
-    url = "https://raw.githubusercontent.com/gentoo/musl/85b6a600996bdd71162b357e9ba93d8559342432/dev-libs/boehm-gc/files/boehm-gc-7.6.0-sys_select.patch";
+    url = "https://gitweb.gentoo.org/proj/musl.git/plain/dev-libs/boehm-gc/files/boehm-gc-7.6.0-sys_select.patch";
     sha256 = "1gydwlklvci30f5dpp5ccw2p2qpph5y41r55wx9idamjlq66fbb3";
   }) ] ++
     # https://github.com/ivmai/bdwgc/pull/208
diff --git a/pkgs/development/libraries/boost/1.66.nix b/pkgs/development/libraries/boost/1.66.nix
index 02cf511a6fdff..932ebdcb463a2 100644
--- a/pkgs/development/libraries/boost/1.66.nix
+++ b/pkgs/development/libraries/boost/1.66.nix
@@ -8,6 +8,4 @@ callPackage ./generic.nix (args // rec {
     # SHA256 from http://www.boost.org/users/history/version_1_66_0.html
     sha256 = "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9";
   };
-
-  toolset = if stdenv.cc.isClang then "clang" else null;
 })
diff --git a/pkgs/development/libraries/boost/1.67.nix b/pkgs/development/libraries/boost/1.67.nix
new file mode 100644
index 0000000000000..150272df6ca3f
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.67.nix
@@ -0,0 +1,17 @@
+{ stdenv, callPackage, fetchurl, fetchpatch, hostPlatform, buildPlatform, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.67_0";
+
+  patches = [ (fetchpatch {
+    url = "https://github.com/boostorg/lockfree/commit/12726cda009a855073b9bedbdce57b6ce7763da2.patch";
+    sha256 = "0x65nkwzv8fdacj8sw5njl3v63jj19dirrpklbwy6qpsncw7fc7h";
+    stripLen = 1;
+  })];
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_67_0.tar.bz2";
+    # SHA256 from http://www.boost.org/users/history/version_1_66_0.html
+    sha256 = "2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba";
+  };
+})
diff --git a/pkgs/development/libraries/boost/1.68.nix b/pkgs/development/libraries/boost/1.68.nix
new file mode 100644
index 0000000000000..081b105e2d205
--- /dev/null
+++ b/pkgs/development/libraries/boost/1.68.nix
@@ -0,0 +1,11 @@
+{ stdenv, callPackage, fetchurl, fetchpatch, hostPlatform, buildPlatform, ... } @ args:
+
+callPackage ./generic.nix (args // rec {
+  version = "1.68_0";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/boost/boost_1_68_0.tar.bz2";
+    # SHA256 from http://www.boost.org/users/history/version_1_68_0.html
+    sha256 = "7f6130bc3cf65f56a618888ce9d5ea704fa10b462be126ad053e80e553d6d8b7";
+  };
+})
diff --git a/pkgs/development/libraries/boost/darwin-no-system-python.patch b/pkgs/development/libraries/boost/darwin-no-system-python.patch
new file mode 100644
index 0000000000000..73e0910336a10
--- /dev/null
+++ b/pkgs/development/libraries/boost/darwin-no-system-python.patch
@@ -0,0 +1,45 @@
+diff --git a/tools/build/src/tools/python.jam b/tools/build/src/tools/python.jam
+index 273b28a..2d2031e 100644
+--- a/tools/build/src/tools/python.jam
++++ b/tools/build/src/tools/python.jam
+@@ -428,13 +428,7 @@ local rule windows-installed-pythons ( version ? )
+ 
+ local rule darwin-installed-pythons ( version ? )
+ {
+-    version ?= $(.version-countdown) ;
+-
+-    local prefix
+-      = [ GLOB /System/Library/Frameworks /Library/Frameworks
+-          : Python.framework ] ;
+-
+-    return $(prefix)/Versions/$(version)/bin/python ;
++    return ;
+ }
+ 
+ 
+@@ -890,25 +884,6 @@ local rule configure ( version ? : cmd-or-prefix ? : includes * : libraries ? :
+ 
+     # See if we can find a framework directory on darwin.
+     local framework-directory ;
+-    if $(target-os) = darwin
+-    {
+-        # Search upward for the framework directory.
+-        local framework-directory = $(libraries[-1]) ;
+-        while $(framework-directory:D=) && $(framework-directory:D=) != Python.framework
+-        {
+-            framework-directory = $(framework-directory:D) ;
+-        }
+-
+-        if $(framework-directory:D=) = Python.framework
+-        {
+-            debug-message framework directory is \"$(framework-directory)\" ;
+-        }
+-        else
+-        {
+-            debug-message "no framework directory found; using library path" ;
+-            framework-directory = ;
+-        }
+-    }
+ 
+     local dll-path = $(libraries) ;
+ 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 14ea512afbd28..d2b70ebe6910f 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -1,8 +1,7 @@
 { stdenv, fetchurl, icu, expat, zlib, bzip2, python, fixDarwinDylibNames, libiconv
 , which
 , buildPackages, buildPlatform, hostPlatform
-, toolset ? /**/ if stdenv.cc.isClang                                then "clang"
-            else if stdenv.cc.isGNU && hostPlatform != buildPlatform then "gcc-cross"
+, toolset ? /**/ if stdenv.cc.isClang  then "clang"
             else null
 , enableRelease ? true
 , enableDebug ? false
@@ -10,8 +9,8 @@
 , enableMultiThreaded ? true
 , enableShared ? !(hostPlatform.libc == "msvcrt") # problems for now
 , enableStatic ? !enableShared
-, enablePython ? hostPlatform == buildPlatform
-, enableNumpy ? enablePython && stdenv.lib.versionAtLeast version "1.65"
+, enablePython ? false
+, enableNumpy ? false
 , taggedLayout ? ((enableRelease && enableDebug) || (enableSingleThreaded && enableMultiThreaded) || (enableShared && enableStatic))
 , patches ? []
 , mpi ? null
@@ -55,19 +54,30 @@ let
     "--layout=${layout}"
     "variant=${variant}"
     "threading=${threading}"
-    "runtime-link=${runtime-link}"
     "link=${link}"
     "-sEXPAT_INCLUDE=${expat.dev}/include"
     "-sEXPAT_LIBPATH=${expat.out}/lib"
-  ] ++ optional (variant == "release") "debug-symbols=off"
+
+    # TODO: make this unconditional
+  ] ++ optionals (hostPlatform != buildPlatform) [
+    "address-model=${toString hostPlatform.parsed.cpu.bits}"
+    "architecture=${toString hostPlatform.parsed.cpu.family}"
+    "binary-format=${toString hostPlatform.parsed.kernel.execFormat.name}"
+    "target-os=${toString hostPlatform.parsed.kernel.name}"
+
+    # adapted from table in boost manual
+    # https://www.boost.org/doc/libs/1_66_0/libs/context/doc/html/context/architectures.html
+    "abi=${if hostPlatform.parsed.cpu.family == "arm" then "aapcs"
+           else if hostPlatform.isWindows then "ms"
+           else if hostPlatform.isMips then "o32"
+           else "sysv"}"
+  ] ++ optional (link != "static") "runtime-link=${runtime-link}"
+    ++ optional (variant == "release") "debug-symbols=off"
     ++ optional (toolset != null) "toolset=${toolset}"
+    ++ optional (!enablePython) "--without-python"
     ++ optional (mpi != null || hostPlatform != buildPlatform) "--user-config=user-config.jam"
     ++ optionals (hostPlatform.libc == "msvcrt") [
-    "target-os=windows"
     "threadapi=win32"
-    "binary-format=pe"
-    "address-model=${toString hostPlatform.parsed.cpu.bits}"
-    "architecture=x86"
   ]);
 
 in
@@ -78,11 +88,13 @@ stdenv.mkDerivation {
   inherit src;
 
   patchFlags = optionalString (hostPlatform.libc == "msvcrt") "-p0";
-  patches = patches ++ optional (hostPlatform.libc == "msvcrt") (fetchurl {
-    url = "https://svn.boost.org/trac/boost/raw-attachment/tickaet/7262/"
-        + "boost-mingw.patch";
-    sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj";
-  });
+  patches = patches
+    ++ optional stdenv.isDarwin ./darwin-no-system-python.patch
+    ++ optional (hostPlatform.libc == "msvcrt") (fetchurl {
+      url = "https://svn.boost.org/trac/boost/raw-attachment/tickaet/7262/"
+          + "boost-mingw.patch";
+      sha256 = "0s32kwll66k50w6r5np1y5g907b7lcpsjhfgr7rsw7q5syhzddyj";
+    });
 
   meta = {
     homepage = http://boost.org/;
diff --git a/pkgs/development/libraries/botan/2.0.nix b/pkgs/development/libraries/botan/2.0.nix
index dec08d17177d5..91f7f6647304d 100644
--- a/pkgs/development/libraries/botan/2.0.nix
+++ b/pkgs/development/libraries/botan/2.0.nix
@@ -1,9 +1,9 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  baseVersion = "2.3";
+  baseVersion = "2.7";
   revision = "0";
-  sha256 = "0z6lwv28hxnfkhd4s03cb4cdm1621bsswc2h88z4qslqwpz71y9r";
+  sha256 = "142aqabwc266jxn8wrp0f1ffrmcvdxwvyh8frb38hx9iaqazjbg4";
   postPatch = ''
     sed -e 's@lang_flags "@&--std=c++11 @' -i src/build-data/cc/{gcc,clang}.txt
   '';
diff --git a/pkgs/development/libraries/buddy/default.nix b/pkgs/development/libraries/buddy/default.nix
index 00e236eba8c3d..a8555a349d08e 100644
--- a/pkgs/development/libraries/buddy/default.nix
+++ b/pkgs/development/libraries/buddy/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ bison ];
   patches = [ ./gcc-4.3.3-fixes.patch ];
-  configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3";
+  configureFlags = [ "CFLAGS=-O3" "CXXFLAGS=-O3" ];
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/bulletml/default.nix b/pkgs/development/libraries/bulletml/default.nix
new file mode 100644
index 0000000000000..b61ac1dcb09fe
--- /dev/null
+++ b/pkgs/development/libraries/bulletml/default.nix
@@ -0,0 +1,73 @@
+{ stdenv, fetchpatch, fetchurl, bison, perl }:
+
+let
+  version = "0.0.6";
+  debianRevision = "7";
+  debianPatch = patchname: hash: fetchpatch {
+    name = "${patchname}.patch";
+    url = "https://sources.debian.org/data/main/b/bulletml/${version}-${debianRevision}/debian/patches/${patchname}.patch";
+    sha256 = hash;
+  };
+
+in stdenv.mkDerivation {
+  name = "bulletml-${version}";
+
+  srcs = [
+    (fetchurl {
+      url = "http://shinh.skr.jp/libbulletml/libbulletml-${version}.tar.bz2";
+      sha256 = "0yda0zgj2ydgkmby5676f5iiawabxadzh5p7bmy42998sp9g6dvw";
+    })
+    (fetchurl {
+      url = "http://shinh.skr.jp/d/d_cpp.tar.bz2";
+      sha256 = "1ly9qmbb8q9nyadmdap1gmxs3vkniqgchlv2hw7riansz4gg1agh";
+    })
+  ];
+  sourceRoot = "bulletml";
+  postUnpack = "mv d_cpp bulletml/";
+
+  patches = [
+    (debianPatch "fixes" "0cnr968n0h50fjmjijx7idsa2pg2pv5cwy6nvfbkx9z8w2zf0mkl")
+    (debianPatch "bulletml_d" "03d1dgln3gkiw019pxn3gwgjkmvzisq8kp3n6fpn38yfwh4fp4hv")
+    (debianPatch "d_cpp" "04g9c7c89w7cgrxw75mcbdhzxqmz1716li49mhl98znakchrlb9h")
+    (debianPatch "warnings" "18px79x4drvm6dy6w6js53nzlyvha7qaxhz5a99b97pyk3qc7i9g")
+    (debianPatch "makefile" "0z6yxanxmarx0s08gh12pk2wfqjk8g797wmfcqczdv1i6xc7nqzp")
+    (debianPatch "includes" "1n11j5695hs9pspslf748w2cq5d78s6bwhyl476wp6gcq6jw20bw")
+  ];
+
+  makeFlags = [
+    "-C src"
+  ];
+  nativeBuildInputs = [ bison perl ];
+  hardeningDisable = [ "format" ];
+
+  installPhase = ''
+    install -D -m 644 src/bulletml.d "$out"/include/d/bulletml.d
+    install -d "$out"/include/bulletml/tinyxml
+    install -m 644 src/*.h "$out"/include/bulletml
+    install -m 644 src/tinyxml/tinyxml.h "$out"/include/bulletml/tinyxml
+    cp -r src/boost $out/include/boost
+
+    install -d "$out"/lib
+    install -m 644 src/libbulletml.{a,so}* "$out"/lib
+
+    install -D -m 644 README "$out"/share/doc/libbulletml/README.jp
+    install -m 644 README.en "$out"/share/doc/libbulletml
+    install -m 644 README.bulletml "$out"/share/doc/libbulletml
+    install -D -m 644 README "$out"/share/licenses/libbulletml/README.jp
+    install -m 644 README.en "$out"/share/licenses/libbulletml
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C++ library to handle BulletML easily";
+    longDescription = ''
+      BulletML is the Bullet Markup Language. BulletML can describe the barrage
+      of bullets in shooting games.
+    '';
+    homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fgaz ];
+    # See https://github.com/NixOS/nixpkgs/pull/35482
+    # for some attempts in getting it to build on darwin
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index cdc660ca3f326..11b94a0181a19 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, fetchFromGitHub, bctoolbox, sqlite }:
+{ stdenv, cmake, fetchFromGitHub, bctoolbox, sqlite }:
 
 stdenv.mkDerivation rec {
   baseName = "bzrtp";
diff --git a/pkgs/development/libraries/c-ares/default.nix b/pkgs/development/libraries/c-ares/default.nix
index 6b3b69f999711..1762454911799 100644
--- a/pkgs/development/libraries/c-ares/default.nix
+++ b/pkgs/development/libraries/c-ares/default.nix
@@ -1,14 +1,23 @@
-{ stdenv, fetchurl, writeTextDir }:
+{ targetPlatform, stdenv, fetchurl, writeTextDir }:
 
 let self =
 stdenv.mkDerivation rec {
-  name = "c-ares-1.13.0";
+  name = "c-ares-1.14.0";
 
   src = fetchurl {
-    url = "http://c-ares.haxx.se/download/${name}.tar.gz";
-    sha256 = "19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3";
+    url = "https://c-ares.haxx.se/download/${name}.tar.gz";
+    sha256 = "0vnwmbvymw677k780kpb6sb8i3szdp89rzy8mz1fwg1657yw3ls5";
   };
 
+  # ares_android.h header is missing
+  # see issue https://github.com/c-ares/c-ares/issues/216
+  postPatch = if stdenv.hostPlatform.isAndroid then ''
+    cp ${fetchurl {
+      url = "https://raw.githubusercontent.com/c-ares/c-ares/cares-1_14_0/ares_android.h";
+      sha256 = "1aw8y6r5c8zq6grjwf4mcm2jj35r5kgdklrp296214s1f1827ps8";
+    }} ares_android.h
+  '' else null;
+
   meta = with stdenv.lib; {
     description = "A C library for asynchronous DNS requests";
     homepage = https://c-ares.haxx.se;
@@ -27,12 +36,12 @@ stdenv.mkDerivation rec {
 
       set_target_properties(c-ares::cares PROPERTIES
         INTERFACE_INCLUDE_DIRECTORIES "${self}/include"
-        INTERFACE_LINK_LIBRARIES "nsl;rt"
+        ${stdenv.lib.optionalString stdenv.isLinux ''INTERFACE_LINK_LIBRARIES "nsl;rt"''}
       )
       set_property(TARGET c-ares::cares APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
       set_target_properties(c-ares::cares PROPERTIES
-        IMPORTED_LOCATION_RELEASE "${self}/lib/libcares.so.2.2.0"
-        IMPORTED_SONAME_RELEASE "libcares.so.2"
+        IMPORTED_LOCATION_RELEASE "${self}/lib/libcares${targetPlatform.extensions.sharedLibrary}"
+        IMPORTED_SONAME_RELEASE "libcares${targetPlatform.extensions.sharedLibrary}"
         )
       add_library(c-ares::cares_shared INTERFACE IMPORTED)
       set_target_properties(c-ares::cares_shared PROPERTIES INTERFACE_LINK_LIBRARIES "c-ares::cares")
diff --git a/pkgs/development/libraries/c-blosc/default.nix b/pkgs/development/libraries/c-blosc/default.nix
index 5066b0a3250bf..c52d7c2756dc3 100644
--- a/pkgs/development/libraries/c-blosc/default.nix
+++ b/pkgs/development/libraries/c-blosc/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "c-blosc";
-  version = "1.11.3";
+  name = "c-blosc-${version}";
+  version = "1.14.4";
 
   src = fetchFromGitHub {
     owner = "Blosc";
     repo = "c-blosc";
     rev = "v${version}";
-    sha256 = "18665lwszwbb48pxgisyxxjh92sr764hv6h7jw8zzsmzdkgzrmcw";
+    sha256 = "195w96gl75mkxxqq6qjsmb2s1lq8z95qlc71fr5a7sckslcwglh0";
   };
 
   buildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/caf/default.nix b/pkgs/development/libraries/caf/default.nix
index d3b6722b36cd2..397e80961e064 100644
--- a/pkgs/development/libraries/caf/default.nix
+++ b/pkgs/development/libraries/caf/default.nix
@@ -1,26 +1,18 @@
-{ stdenv, fetchFromGitHub, fetchpatch, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   name = "actor-framework-${version}";
-  version = "0.15.3";
+  version = "0.15.7";
 
   src = fetchFromGitHub {
     owner = "actor-framework";
     repo = "actor-framework";
     rev = "${version}";
-    sha256 = "0202nsdriigdh6sxi1k3hddvmf1x54qpykbvf2ghfhzyh0m1q7j2";
+    sha256 = "0qmb18k162xdvf8z03mybjazkwb2vqda5xd1qh5bwkvxracwq3sb";
   };
 
-  # See https://github.com/actor-framework/actor-framework/issues/545 and remove on next release that incorporates this
-  patches = [ (fetchpatch {
-    url    = "https://github.com/actor-framework/actor-framework/commit/c5a3ee26a6e76b28dd4226f35230b280f291386d.patch";
-    sha256 = "1l0323cqyqlp3lvggm709fmfm6lk6av1smdbd420adhi3ksj2vhj";
-  }) ];
-
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
     description = "An open source implementation of the actor model in C++";
     homepage = http://actor-framework.org/;
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 6aa184e4204ea..db46412ceb554 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, pkgconfig, libiconv
-, libintlOrEmpty, expat, zlib, libpng, pixman, fontconfig, freetype, xorg
+{ stdenv, fetchurl, pkgconfig, libiconv
+, libintl, expat, zlib, libpng, pixman, fontconfig, freetype, xorg
 , gobjectSupport ? true, glib
 , xcbSupport ? true # no longer experimental since 1.12
 , glSupport ? true, libGL ? null # libGLU_combined is no longer a big dependency
@@ -9,32 +9,25 @@
 
 assert glSupport -> libGL != null;
 
-let inherit (stdenv.lib) optional optionals; in
-
-stdenv.mkDerivation rec {
-  name = "cairo-1.14.10";
+let
+  version = "1.15.12";
+  inherit (stdenv.lib) optional optionals;
+in stdenv.mkDerivation rec {
+  name = "cairo-${version}";
 
   src = fetchurl {
-    url = "http://cairographics.org/releases/${name}.tar.xz";
-    sha256 = "02banr0wxckq62nbhc3mqidfdh2q956i2r7w2hd9bjgjb238g1vy";
+    url = "https://cairographics.org/${if stdenv.lib.mod (builtins.fromJSON (stdenv.lib.versions.minor version)) 2 == 0 then "releases" else "snapshots"}/${name}.tar.xz";
+    sha256 = "1jcl0mnqq6j2xip8p506g2cj54sfycm339rrd3p4g2jljhdhh8vn";
   };
 
-  patches = [
-    # from https://bugs.freedesktop.org/show_bug.cgi?id=98165
-    (fetchpatch {
-      name = "cairo-CVE-2016-9082.patch";
-      url = "https://bugs.freedesktop.org/attachment.cgi?id=127421";
-      sha256 = "03sfyaclzlglip4pvfjb4zj4dmm8mlphhxl30mb6giinkc74bfri";
-    })
-  ];
-
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev"; # very small
 
   nativeBuildInputs = [
     pkgconfig
     libiconv
-  ] ++ libintlOrEmpty ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    libintl
+  ] ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
     CoreGraphics
     CoreText
     ApplicationServices
@@ -79,6 +72,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
   postInstall = stdenv.lib.optionalString stdenv.isDarwin glib.flattenInclude;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix
index 09d162db85322..a4e4968f562f7 100644
--- a/pkgs/development/libraries/cairomm/default.nix
+++ b/pkgs/development/libraries/cairomm/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, darwin, cairo, xlibsWrapper, fontconfig, freetype, libsigcxx }:
+{ fetchurl, stdenv, pkgconfig, darwin, cairo, fontconfig, freetype, libsigcxx }:
 let
   ver_maj = "1.12";
   ver_min = "2";
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   name = "cairomm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
-    url = "http://www.cairographics.org/releases/${name}.tar.gz";
+    url = "https://www.cairographics.org/releases/${name}.tar.gz";
     # gnome doesn't have the latest version ATM; beware: same name but different hash
     # url = "mirror://gnome/sources/cairomm/${ver_maj}/${name}.tar.xz";
     sha256 = "16fmigxsaz85c3lgcls7biwyz8zy8c8h3jndfm54cxxas3a7zi25";
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index 64e3690eb3e64..880a2824fb0a8 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, bash, pkgconfig }:
+{ stdenv, fetchurl, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name    = "capstone-${version}";
-  version = "3.0.4";
+  version = "3.0.5";
 
   src = fetchurl {
     url    = "https://github.com/aquynh/capstone/archive/${version}.tar.gz";
-    sha256 = "1whl5c8j6vqvz2j6ay2pyszx0jg8d3x8hq66cvgghmjchvsssvax";
+    sha256 = "1wbd1g3r32ni6zd9vwrq3kn7fdp9y8qwn9zllrrbk8n5wyaxcgci";
   };
 
   configurePhase = '' patchShebangs make.sh '';
diff --git a/pkgs/development/libraries/cctz/default.nix b/pkgs/development/libraries/cctz/default.nix
new file mode 100644
index 0000000000000..e61b5840cf933
--- /dev/null
+++ b/pkgs/development/libraries/cctz/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "cctz-${version}";
+  version = "2.2";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "cctz";
+    rev = "v${version}";
+    sha256 = "0liiqz1swfc019rzfaa9y5kavs2hwabs2vnwbn9jfczhyxy34y89";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  installTargets = [ "install_hdrs" "install_shared_lib" ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/google/cctz;
+    description = "C++ library for translating between absolute and civil times";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/cddlib/default.nix b/pkgs/development/libraries/cddlib/default.nix
index 818eb6db8c690..68d34c75c0100 100644
--- a/pkgs/development/libraries/cddlib/default.nix
+++ b/pkgs/development/libraries/cddlib/default.nix
@@ -1,23 +1,33 @@
-{stdenv, fetchurl, gmp}:
+{ stdenv
+, fetchFromGitHub
+, gmp
+, autoreconfHook
+, texlive
+}:
+
 stdenv.mkDerivation rec {
   name = "cddlib-${version}";
-  fileVersion = "094h";
-  version = "0.94h";
-  src = fetchurl {
-    urls = [
-      "http://archive.ubuntu.com/ubuntu/pool/universe/c/cddlib/cddlib_${fileVersion}.orig.tar.gz"
-      "ftp://ftp.math.ethz.ch/users/fukudak/cdd/cddlib-${fileVersion}.tar.gz"
-    ];
-    name = "";
-    sha256 = "1dasasscwfg793q8fwzgwf64xwj7w62yfvszpr8x8g38jka08vgy";
+  version = "0.94j";
+  src = fetchFromGitHub {
+    owner = "cddlib";
+    repo = "cddlib";
+    rev = "${version}";
+    sha256 = "1z03ljy3rrr0qq5gq54vynnif6fn0xhn05g90nnv0dpyc3ps8lzp";
   };
   buildInputs = [gmp];
-  meta = {
+  nativeBuildInputs = [
+    autoreconfHook
+    texlive.combined.scheme-small # for building the documentation
+  ];
+  # No actual checks yet (2018-05-05), but maybe one day.
+  # Requested here: https://github.com/cddlib/cddlib/issues/25
+  doCheck = true;
+  meta = with stdenv.lib; {
     inherit version;
     description = ''An implementation of the Double Description Method for generating all vertices of a convex polyhedron'';
-    license = stdenv.lib.licenses.gpl2Plus ;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [raskin timokau];
+    platforms = platforms.unix;
     homepage = https://www.inf.ethz.ch/personal/fukudak/cdd_home/index.html;
   };
 }
diff --git a/pkgs/development/libraries/celt/0.5.1.nix b/pkgs/development/libraries/celt/0.5.1.nix
index 561be1ba2819d..e45d74345d446 100644
--- a/pkgs/development/libraries/celt/0.5.1.nix
+++ b/pkgs/development/libraries/celt/0.5.1.nix
@@ -7,4 +7,11 @@ callPackage ./generic.nix (args // rec{
     url = "http://downloads.xiph.org/releases/celt/celt-${version}.tar.gz";
     sha256 = "0bkam9z5vnrxpbxkkh9kw6yzjka9di56h11iijikdd1f71l5nbpw";
   };
+
+  # Don't build tests due to badness with ec_ilog
+  prePatch = ''
+    substituteInPlace Makefile.in \
+      --replace 'SUBDIRS = libcelt tests' \
+                'SUBDIRS = libcelt'
+  '';
 })
diff --git a/pkgs/development/libraries/celt/generic.nix b/pkgs/development/libraries/celt/generic.nix
index 4ab554561f73b..6bf7975034b51 100644
--- a/pkgs/development/libraries/celt/generic.nix
+++ b/pkgs/development/libraries/celt/generic.nix
@@ -1,5 +1,6 @@
 { stdenv, version, src
 , liboggSupport ? true, libogg ? null # if disabled only the library will be built
+, prePatch ? ""
 , ...
 }:
 
@@ -10,9 +11,13 @@ stdenv.mkDerivation rec {
 
   inherit src;
 
+  inherit prePatch;
+
   buildInputs = []
     ++ stdenv.lib.optional liboggSupport libogg;
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     description = "Ultra-low delay audio codec";
     homepage    = http://www.celt-codec.org/;
diff --git a/pkgs/development/libraries/ceres-solver/default.nix b/pkgs/development/libraries/ceres-solver/default.nix
index 77e0cb7735d98..432e49c4354f6 100644
--- a/pkgs/development/libraries/ceres-solver/default.nix
+++ b/pkgs/development/libraries/ceres-solver/default.nix
@@ -12,27 +12,21 @@ assert runTests -> google-gflags != null;
 
 stdenv.mkDerivation rec {
   name = "ceres-solver-${version}";
-  version = "1.12.0";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "http://ceres-solver.org/ceres-solver-${version}.tar.gz";
-    sha256 = "15f8mwhcy9f5qggcc9dqwl5y687ykvmlidr686aqdq0ia7azwnvl";
+    sha256 = "13lfxy8x58w8vprr0nkbzziaijlh0vvqshgahvcgw0mrqdgh0i27";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ glog ]
+  buildInputs = [ eigen glog ]
     ++ stdenv.lib.optional (google-gflags != null) google-gflags;
 
-  inherit eigen;
-
   doCheck = runTests;
 
   checkTarget = "test";
 
-  cmakeFlags = "
-    -DEIGEN_INCLUDE_DIR=${eigen}/include/eigen3
-  ";
-
   meta = with stdenv.lib; {
     description = "C++ library for modeling and solving large, complicated optimization problems";
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/cfitsio/darwin-curl-config.patch b/pkgs/development/libraries/cfitsio/darwin-curl-config.patch
new file mode 100644
index 0000000000000..77d8f719d778d
--- /dev/null
+++ b/pkgs/development/libraries/cfitsio/darwin-curl-config.patch
@@ -0,0 +1,25 @@
+diff -ruN cfitsio/configure cfitsio-curl-config/configure
+--- cfitsio/configure	2018-05-09 21:16:00.000000000 +0200
++++ cfitsio-curl-config/configure	2018-05-30 13:28:58.000000000 +0200
+@@ -4783,13 +4783,6 @@
+ CURL_LIB=""
+ CURL_INC=""
+ # Use curl-config to get compiler & linker flags, if available.
+-# On Macs, prefer XCode curl-config, and reject MacPorts version
+-# until further notice to prevent build errors:
+-if test "x$EXT" = xdarwin -a -x /usr/bin/curl-config; then
+-  CURLCONFIG="/usr/bin/curl-config"
+-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: checking for curl-config... choosing /usr/bin/curl-config on Mac" >&5
+-$as_echo "checking for curl-config... choosing /usr/bin/curl-config on Mac" >&6; }
+-else
+   # Extract the first word of "curl-config", so it can be a program name with args.
+ set dummy curl-config; ac_word=$2
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+@@ -4833,7 +4826,6 @@
+   fi
+ fi
+ fi
+-fi
+ CURLCONFIG=$ac_cv_prog_CURLCONFIG
+ if test -n "$CURLCONFIG"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURLCONFIG" >&5
diff --git a/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch b/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch
new file mode 100644
index 0000000000000..af38abf329ea2
--- /dev/null
+++ b/pkgs/development/libraries/cfitsio/darwin-rpath-universal.patch
@@ -0,0 +1,21 @@
+diff -ruN cfitsio/configure cfitsio-rpath-universal/configure
+--- cfitsio/configure	2018-05-09 21:16:00.000000000 +0200
++++ cfitsio-rpath-universal/configure	2018-05-31 12:02:25.000000000 +0200
+@@ -4727,16 +4727,7 @@
+     SHLIB_SUFFIX=".dylib"
+     CFITSIO_SHLIB="lib\${PACKAGE}.\${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}\${SHLIB_SUFFIX}"
+     CFITSIO_SHLIB_SONAME="lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX}"
+-    case $host in
+-        *darwin[56789]*)
+-            SHLIB_LD="$CC -dynamiclib -install_name lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
+-            ;;
+-        *)
+-            # Build 'Universal' binaries (i386 & x86_64 architectures) and
+-            # use rpath token on Darwin 10.x or newer:
+-            SHLIB_LD="$CC -dynamiclib $C_UNIV_SWITCH -headerpad_max_install_names -install_name @rpath/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
+-            ;;
+-    esac
++    SHLIB_LD="$CC -dynamiclib -install_name ${out}/lib/lib\${PACKAGE}.\${CFITSIO_SONAME}\${SHLIB_SUFFIX} -compatibility_version \${CFITSIO_SONAME} -current_version \${CFITSIO_SONAME}.\${CFITSIO_MAJOR}.\${CFITSIO_MINOR}"
+ 
+     lhea_shlib_cflags="-fPIC -fno-common"
+     ;;
diff --git a/pkgs/development/libraries/cfitsio/default.nix b/pkgs/development/libraries/cfitsio/default.nix
index ecf5fb1f02fd2..a21158723be15 100644
--- a/pkgs/development/libraries/cfitsio/default.nix
+++ b/pkgs/development/libraries/cfitsio/default.nix
@@ -8,9 +8,11 @@
     sha256 = "07fghxh5fl8nqk3q0dh8rvc83npnm0hisxzcj16a6r7gj5pmp40l";
   };
 
+  patches = [ ./darwin-curl-config.patch ./darwin-rpath-universal.patch ];
+
   # Shared-only build
   buildFlags = "shared";
-  patchPhase = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
+  postPatch = '' sed -e '/^install:/s/libcfitsio.a //' -e 's@/bin/@@g' -i Makefile.in
    '';
 
   meta = with stdenv.lib; {
@@ -27,6 +29,6 @@
       '';
     # Permissive BSD-style license.
     license = "permissive";
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/check/default.nix b/pkgs/development/libraries/check/default.nix
index 1db991f63feea..ddaf022edfd40 100644
--- a/pkgs/development/libraries/check/default.nix
+++ b/pkgs/development/libraries/check/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "check-${version}";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchurl {
     url = "https://github.com/libcheck/check/releases/download/${version}/check-${version}.tar.gz";
-    sha256 = "05jn1pgb7hqb937xky2147nnq3r4qy5wwr79rddpax3bms5a9xr4";
+    sha256 = "0d22h8xshmbpl9hba9ch3xj8vb9ybm5akpsbbh7yj07fic4h2hj6";
   };
 
   # Test can randomly fail: http://hydra.nixos.org/build/7243912
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index 158ae2539d3a1..4e7488f7eb375 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "chromaprint-${version}";
-  version = "1.4.3";
+  version = "1.3.2";
 
   src = fetchurl {
-    url = "https://github.com/acoustid/chromaprint/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "10kz8lncal4s2rp2rqpgc6xyjp0jzcrihgkx7chf127vfs5n067a";
+    url = "http://bitbucket.org/acoustid/chromaprint/downloads/${name}.tar.gz";
+    sha256 = "0lln8dh33gslb9cbmd1hcv33pr6jxdwipd8m8gbsyhksiq6r1by3";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cl/default.nix b/pkgs/development/libraries/cl/default.nix
index 7c44c2e0ab0cf..7cb75d8de0f39 100644
--- a/pkgs/development/libraries/cl/default.nix
+++ b/pkgs/development/libraries/cl/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, SDL, libGLU_combined, rebar, erlang, opencl-headers, ocl-icd }:
+{stdenv, fetchFromGitHub, rebar, erlang, opencl-headers, ocl-icd }:
 
 stdenv.mkDerivation rec {
   version = "1.2.3";
diff --git a/pkgs/development/libraries/classads/default.nix b/pkgs/development/libraries/classads/default.nix
index 32a4a574ed6ca..d329b1945fc74 100644
--- a/pkgs/development/libraries/classads/default.nix
+++ b/pkgs/development/libraries/classads/default.nix
@@ -12,9 +12,9 @@ stdenv.mkDerivation {
 
   buildInputs = [ pcre ];
 
-  configureFlags = ''                                                  
-    --enable-namespace --enable-flexible-member
-  '';
+  configureFlags = [
+    "--enable-namespace" "--enable-flexible-member"
+  ];
   
   meta = {
     homepage = http://www.cs.wisc.edu/condor/classad/;
diff --git a/pkgs/development/libraries/clearsilver/default.nix b/pkgs/development/libraries/clearsilver/default.nix
index cd1789a13bbd2..fd4d8d5ca31b0 100644
--- a/pkgs/development/libraries/clearsilver/default.nix
+++ b/pkgs/development/libraries/clearsilver/default.nix
@@ -10,7 +10,14 @@ stdenv.mkDerivation rec {
 
   PYTHON_SITE = "$(out)/site-packages";
 
-  configureFlags = "--with-python=${python}/bin/python --disable-apache --disable-perl --disable-ruby --disable-java --disable-csharp";
+  configureFlags = [
+    "--with-python=${python}/bin/python"
+    "--disable-apache"
+    "--disable-perl"
+    "--disable-ruby"
+    "--disable-java"
+    "--disable-csharp"
+  ];
 
   preInstall = ''
     mkdir -p $out
diff --git a/pkgs/development/libraries/cloog-ppl/default.nix b/pkgs/development/libraries/cloog-ppl/default.nix
index 442b115a40822..47037339d417c 100644
--- a/pkgs/development/libraries/cloog-ppl/default.nix
+++ b/pkgs/development/libraries/cloog-ppl/default.nix
@@ -14,16 +14,12 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fix-ppl-version.patch ];
 
-  configureFlags = "--with-ppl=${ppl}";
+  configureFlags = [ "--with-ppl=${ppl}" ];
 
   preAutoreconf = ''
     touch NEWS ChangeLog AUTHORS
   '';
 
-  crossAttrs = {
-    configureFlags = "--with-ppl=${ppl.crossDrv}";
-  };
-
   doCheck = true;
 
   meta = {
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 0ba9e1545fbf0..0db253bbec263 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
         $out/lib/libclucene-core.1.dylib
   '';
 
+  doCheck = false; # fails with "Unable to find executable: /build/clucene-core-2.3.3.4/build/bin/cl_test"
+
   meta = {
     description = "Core library for full-featured text search engine";
     longDescription = ''
diff --git a/pkgs/development/libraries/clutter-gst/default.nix b/pkgs/development/libraries/clutter-gst/default.nix
index 962ca9ff9b536..a06691d5c715b 100644
--- a/pkgs/development/libraries/clutter-gst/default.nix
+++ b/pkgs/development/libraries/clutter-gst/default.nix
@@ -30,6 +30,6 @@ in stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = with stdenv.lib.maintainers; [ lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 71789b45a2834..9759e4904b294 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -1,8 +1,11 @@
-{ fetchurl, stdenv, pkgconfig, gobjectIntrospection, clutter, gtk3, gnome3 }:
+{ fetchurl, stdenv, pkgconfig, meson, ninja
+, gobjectIntrospection, clutter, gtk3, gnome3 }:
+
 let
   pname = "clutter-gtk";
   version = "1.8.4";
 in
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
@@ -12,7 +15,7 @@ stdenv.mkDerivation rec {
   };
 
   propagatedBuildInputs = [ clutter gtk3 ];
-  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
 
   postBuild = "rm -rf $out/share/gtk-doc";
 
@@ -27,6 +30,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.clutter-project.org/;
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = with stdenv.lib.maintainers; [ lethalman ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/clutter/default.nix b/pkgs/development/libraries/clutter/default.nix
index eba94288e8fe0..705aa7252d1f7 100644
--- a/pkgs/development/libraries/clutter/default.nix
+++ b/pkgs/development/libraries/clutter/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
+{ stdenv, fetchurl, pkgconfig, libGLU_combined, libX11, libXext, libXfixes
 , libXdamage, libXcomposite, libXi, libxcb, cogl, pango, atk, json-glib,
 gobjectIntrospection, gtk3, gnome3
 }:
diff --git a/pkgs/development/libraries/cmark/default.nix b/pkgs/development/libraries/cmark/default.nix
index 6c73bd016031e..81df7e8631936 100644
--- a/pkgs/development/libraries/cmark/default.nix
+++ b/pkgs/development/libraries/cmark/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "0.27.1";
+  version = "0.28.3";
   name = "cmark-${version}";
 
   src = fetchFromGitHub {
     owner = "jgm";
     repo = "cmark";
     rev = version;
-    sha256 = "06miwq3rl2bighkn6iq7bdwzmvcqa53qwpa0pqjqa8yn44j8ijj8";
+    sha256 = "1lal6n6q7l84njgdcq1xbfxan56qlvr8xaw9m2jbd0jk4y2wkczg";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/cmrt/default.nix b/pkgs/development/libraries/cmrt/default.nix
new file mode 100644
index 0000000000000..8044d7165f757
--- /dev/null
+++ b/pkgs/development/libraries/cmrt/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libdrm, libva }:
+
+stdenv.mkDerivation rec {
+  name = "cmrt-${version}";
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "https://github.com/intel/cmrt/archive/${version}.tar.gz";
+    sha256 = "1q7651nvvcqhph5rgfhklm71zqd0c405mrh3wx0cfzvil82yj8na";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ libdrm libva ];
+
+  meta = with stdenv.lib; {
+    homepage = https://01.org/linuxmedia;
+    description = "Intel C for Media Runtime";
+    longDescription = "Media GPU kernel manager for Intel G45 & HD Graphics family";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tadfisher ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/codec2/default.nix b/pkgs/development/libraries/codec2/default.nix
new file mode 100644
index 0000000000000..9f4c4c3b6b365
--- /dev/null
+++ b/pkgs/development/libraries/codec2/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchsvn, cmake } :
+
+let
+  version = "0.8";
+
+in stdenv.mkDerivation {
+  name = "codec2-${version}";
+
+  src = fetchsvn {
+    url = "https://svn.code.sf.net/p/freetel/code/codec2/branches/${version}";
+    sha256 = "0qbyaqdn37253s30n6m2ric8nfdsxhkslb9h572kdx18j2yjccki";
+  };
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with stdenv.lib; {
+    description = "Speech codec designed for communications quality speech at low data rates";
+    homepage = http://www.rowetel.com/blog/?page_id=452;
+    license = licenses.lgpl21;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ markuskowa ];
+  };
+}
diff --git a/pkgs/development/libraries/cogl/default.nix b/pkgs/development/libraries/cogl/default.nix
index 48b38c22af59d..e06c71c15db4f 100644
--- a/pkgs/development/libraries/cogl/default.nix
+++ b/pkgs/development/libraries/cogl/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintlOrEmpty
+{ stdenv, fetchurl, pkgconfig, libGL, glib, gdk_pixbuf, xorg, libintl
 , pangoSupport ? true, pango, cairo, gobjectIntrospection, wayland, gnome3
+, mesa_noglu
 , gstreamerSupport ? true, gst_all_1 }:
 
 let
   pname = "cogl";
-  version = "1.22.2";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
+  version = "1.22.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "03f0ha3qk7ca0nnkkcr1garrm1n1vvfqhkz9lwjm592fnv6ii9rr";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libintl ];
 
   configureFlags = [
     "--enable-introspection"
@@ -24,10 +25,9 @@ in stdenv.mkDerivation rec {
     ++ stdenv.lib.optionals (!stdenv.isDarwin) [ "--enable-gles1" "--enable-gles2" ];
 
   propagatedBuildInputs = with xorg; [
-      glib gdk_pixbuf gobjectIntrospection wayland
+      glib gdk_pixbuf gobjectIntrospection wayland mesa_noglu
       libGL libXrandr libXfixes libXcomposite libXdamage
     ]
-    ++ libintlOrEmpty
     ++ stdenv.lib.optionals gstreamerSupport [ gst_all_1.gstreamer
                                                gst_all_1.gst-plugins-base ];
 
@@ -37,8 +37,6 @@ in stdenv.mkDerivation rec {
     = stdenv.lib.optionalString (stdenv.isDarwin && pangoSupport)
       "-I${pango.dev}/include/pango-1.0 -I${cairo.dev}/include/cairo";
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   #doCheck = true; # all tests fail (no idea why)
 
   passthru = {
diff --git a/pkgs/development/libraries/cpp-hocon/default.nix b/pkgs/development/libraries/cpp-hocon/default.nix
index 236d634a514b6..1f4b43db16c3e 100644
--- a/pkgs/development/libraries/cpp-hocon/default.nix
+++ b/pkgs/development/libraries/cpp-hocon/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "cpp-hocon-${version}";
-  version = "0.1.6";
+  version = "0.1.7";
 
   src = fetchFromGitHub {
-    sha256 = "0qf2nqp28ahypnzjrr37f54i06ylni40y18q9kwp5s7i5cwbjqgc";
+    sha256 = "0mfpz349c3arihvngw1a1gfhwlcw6wiwyc44bghjx1q109w7wm1m";
     rev = version;
     repo = "cpp-hocon";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/cpp-netlib/default.nix b/pkgs/development/libraries/cpp-netlib/default.nix
index e5391e7100d53..badfc630a47ef 100644
--- a/pkgs/development/libraries/cpp-netlib/default.nix
+++ b/pkgs/development/libraries/cpp-netlib/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description =
       "Collection of open-source libraries for high level network programming";
-    homepage    = http://cpp-netlib.org;
+    homepage    = https://cpp-netlib.org;
     license     = licenses.boost;
     platforms   = platforms.all;
   };
diff --git a/pkgs/development/libraries/cppcms/default.nix b/pkgs/development/libraries/cppcms/default.nix
index fcd37239e9119..a2493e55fb0b5 100644
--- a/pkgs/development/libraries/cppcms/default.nix
+++ b/pkgs/development/libraries/cppcms/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, pcre, zlib, python, openssl }:
 
 stdenv.mkDerivation rec {
-  name = "cppcms";
-  version = "1.0.5";
+  name = "cppcms-${version}";
+  version = "1.2.1";
 
   src = fetchurl {
-      url = "mirror://sourceforge/cppcms/${name}-${version}.tar.bz2";
-      sha256 = "0r8qyp102sq4lw8xhrjhan0dnslhsmxj4zs9jzlw75yagfbqbdl4";
+      url = "mirror://sourceforge/cppcms/${name}.tar.bz2";
+      sha256 = "0lmcdjzicmzhnr8pa0q3f5lgapz2cnh9w0dr56i4kj890iqwgzhh";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/cppdb/default.nix b/pkgs/development/libraries/cppdb/default.nix
index 07c6e1490e7e2..3423b29d76c8e 100644
--- a/pkgs/development/libraries/cppdb/default.nix
+++ b/pkgs/development/libraries/cppdb/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake, sqlite, mysql, postgresql, unixODBC }:
 
 stdenv.mkDerivation rec {
-  name = "cppdb";
+  name = "cppdb-${version}";
   version = "0.3.1";
 
   src = fetchurl {
-      url = "mirror://sourceforge/cppcms/${name}-${version}.tar.bz2";
+      url = "mirror://sourceforge/cppcms/${name}.tar.bz2";
       sha256 = "0blr1casmxickic84dxzfmn3lm7wrsl4aa2abvpq93rdfddfy3nn";
   };
 
diff --git a/pkgs/development/libraries/cppunit/default.nix b/pkgs/development/libraries/cppunit/default.nix
index 7b48ffcaccf83..3f8b2d896ac63 100644
--- a/pkgs/development/libraries/cppunit/default.nix
+++ b/pkgs/development/libraries/cppunit/default.nix
@@ -5,13 +5,14 @@ stdenv.mkDerivation rec {
   version = "1.14.0";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/${name}.tar.gz";
     sha256 = "1027cyfx5gsjkdkaf6c2wnjh68882grw8n672018cj3vs9lrhmix";
   };
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://freedesktop.org/wiki/Software/cppunit/;
     description = "C++ unit testing framework";
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    license = licenses.lgpl21;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/cracklib/default.nix b/pkgs/development/libraries/cracklib/default.nix
index d316b5bf2d1e1..b75f03fab7c74 100644
--- a/pkgs/development/libraries/cracklib/default.nix
+++ b/pkgs/development/libraries/cracklib/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libintlOrEmpty, zlib, gettext }:
+{ stdenv, fetchurl, zlib, gettext }:
 
 stdenv.mkDerivation rec {
   name = "cracklib-2.9.6";
@@ -8,11 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "0hrkb0prf7n92w6rxgq0ilzkk6rkhpys2cfqkrbzswp27na7dkqp";
   };
 
-  buildInputs = [ libintlOrEmpty zlib gettext ];
+  buildInputs = [ zlib gettext ];
 
   meta = with stdenv.lib; {
     homepage    = https://github.com/cracklib/cracklib;
     description = "A library for checking the strength of passwords";
+    license = licenses.lgpl21; # Different license for the wordlist: http://www.openwall.com/wordlists
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index c1bf789c59bd7..ba5b2aa43718a 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchFromGitHub, stdenv }:
+{ fetchFromGitHub, stdenv }:
 
 stdenv.mkDerivation rec {
   name = "crypto++-${version}";
diff --git a/pkgs/development/libraries/ctpl/default.nix b/pkgs/development/libraries/ctpl/default.nix
index fd8fa1a994d65..d50aca1679b88 100644
--- a/pkgs/development/libraries/ctpl/default.nix
+++ b/pkgs/development/libraries/ctpl/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.3.4";
 
   src = fetchurl {
-    url = "http://download.tuxfamily.org/ctpl/releases/ctpl-${version}.tar.gz";
+    url = "https://download.tuxfamily.org/ctpl/releases/ctpl-${version}.tar.gz";
     sha256 = "1yr92xv9n6kgyixwg9ps4zb404ic5pgb171k4bi3mv9p6k8gv59s";
   };
 
diff --git a/pkgs/development/libraries/ctpp2/default.nix b/pkgs/development/libraries/ctpp2/default.nix
index bb1d4458f50cc..55835cdb63dbc 100644
--- a/pkgs/development/libraries/ctpp2/default.nix
+++ b/pkgs/development/libraries/ctpp2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "ctpp2";
+  name = "ctpp2-${version}";
   version = "2.8.3";
 
   src = fetchurl {
-    url = "http://ctpp.havoc.ru/download/ctpp2-${version}.tar.gz";
+    url = "http://ctpp.havoc.ru/download/${name}.tar.gz";
     sha256 = "1z22zfw9lb86z4hcan9hlvji49c9b7vznh7gjm95gnvsh43zsgx8";
   };
 
@@ -16,6 +16,8 @@ stdenv.mkDerivation rec {
     sed -ie 's/<stdlib.h>/<stdlib.h>\n#include <unistd.h>/' src/CTPP2FileSourceLoader.cpp
   '';
 
+  doCheck = false; # fails
+
   meta = {
     description = "A high performance templating engine";
     homepage = http://ctpp.havoc.ru;
diff --git a/pkgs/development/libraries/curlcpp/default.nix b/pkgs/development/libraries/curlcpp/default.nix
index c1c867abcdf58..a2188f687d136 100644
--- a/pkgs/development/libraries/curlcpp/default.nix
+++ b/pkgs/development/libraries/curlcpp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "curlcpp-${version}";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "JosephP91";
     repo = "curlcpp";
     rev = "${version}";
-    sha256 = "1akibhrmqsy0dlz9lq93508bhkh7r1l0aycbzy2x45a9gqxfdi4q";
+    sha256 = "025qg5hym73xrvyhalv3jgbf9jqnnzkdjs3zwsgbpqx58zyd5bg5";
   };
 
   buildInputs = [ cmake curl ];
diff --git a/pkgs/development/libraries/cutelyst/default.nix b/pkgs/development/libraries/cutelyst/default.nix
new file mode 100644
index 0000000000000..6cb003720bb12
--- /dev/null
+++ b/pkgs/development/libraries/cutelyst/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, makeWrapper
+, qtbase, libuuid, libcap, uwsgi, grantlee }:
+
+stdenv.mkDerivation rec {
+  name = "cutelyst-${version}";
+  version = "2.5.1";
+
+  src = fetchFromGitHub {
+    owner = "cutelyst";
+    repo = "cutelyst";
+    rev = "v${version}";
+    sha256 = "0iamavr5gj213c8knrh2mynhn8wcrv83x6s46jq93x93kc5127ks";
+  };
+
+  nativeBuildInputs = [ cmake pkgconfig makeWrapper ];
+  buildInputs = [ qtbase libuuid libcap uwsgi grantlee ];
+
+  cmakeFlags = [
+    "-DPLUGIN_UWSGI=ON"
+    "-DPLUGIN_STATICCOMPRESSED=ON"
+    "-DPLUGIN_CSRFPROTECTION=ON"
+    "-DPLUGIN_VIEW_GRANTLEE=ON"
+  ];
+
+  preBuild = ''
+    export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:`pwd`/Cutelyst:`pwd`/EventLoopEPoll"
+  '';
+
+  postBuild = ''
+    unset LD_LIBRARY_PATH
+  '';
+
+  postInstall = ''
+    for prog in $out/bin/*; do
+      wrapProgram "$prog" --set QT_PLUGIN_PATH '${qtbase}/${qtbase.qtPluginPrefix}'
+    done
+  '';
+
+  meta = with lib; {
+    description = "C++ Web Framework built on top of Qt";
+    homepage = https://cutelyst.org/;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ fpletz ];
+  };
+}
diff --git a/pkgs/development/libraries/cwiid/default.nix b/pkgs/development/libraries/cwiid/default.nix
index 606058da85458..ee646b24c81a3 100644
--- a/pkgs/development/libraries/cwiid/default.nix
+++ b/pkgs/development/libraries/cwiid/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  configureFlags = "--without-python";
+  configureFlags = [ "--without-python" ];
 
   prePatch = ''
     sed -i -e '/$(LDCONFIG)/d' common/include/lib.mak.in
diff --git a/pkgs/development/libraries/cxxtools/default.nix b/pkgs/development/libraries/cxxtools/default.nix
index 5dd48794f5e28..77b27640fd77c 100644
--- a/pkgs/development/libraries/cxxtools/default.nix
+++ b/pkgs/development/libraries/cxxtools/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   version = "2.2.1";
-  name = "cxxtools";
+  name = "cxxtools-${version}";
 
   src = fetchurl {
-    url = "http://www.tntnet.org/download/${name}-${version}.tar.gz";
+    url = "http://www.tntnet.org/download/${name}.tar.gz";
     sha256 = "0hp3qkyhidxkdf8qgkwrnqq5bpahink55mf0yz23rjd7rpbbdswc";
   };
 
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 68398e93764c0..7a9e3991aadb5 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -22,7 +22,8 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./missing-size_t.patch # https://bugzilla.redhat.com/show_bug.cgi?id=906519
-    (fetchpatch { # CVE-2013-4122
+    (fetchpatch {
+      name = "CVE-2013-4122.patch";
       url = "http://sourceforge.net/projects/miscellaneouspa/files/glibc217/cyrus-sasl-2.1.26-glibc217-crypt.diff";
       sha256 = "05l7dh1w9d5fvzg0pjwzqh0fy4ah8y5cv6v67s4ssbq8xwd4pkf2";
     })
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index 4a11c2b989356..c3ca9aa442bd2 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -5,7 +5,7 @@
 
 # Options from inherited versions
 , version, sha256
-, patchSrc ? "src", extraPatches ? [ ]
+, extraPatches ? [ ]
 , license ? stdenv.lib.licenses.sleepycat
 , drvArgs ? {}
 }:
@@ -14,12 +14,14 @@ stdenv.mkDerivation (rec {
   name = "db-${version}";
 
   src = fetchurl {
-    url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
+    url = "https://download.oracle.com/berkeley-db/${name}.tar.gz";
     sha256 = sha256;
   };
 
   patches = extraPatches;
 
+  outputs = [ "bin" "out" "dev" ];
+
   configureFlags =
     [
       (if cxxSupport then "--enable-cxx" else "--disable-cxx")
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index 0514058114380..6190f6ddc52a1 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus glib expat ];
 
-  configureFlags = "--disable-ecore";
+  configureFlags = [ "--disable-ecore" ];
 
   meta = with stdenv.lib; {
     homepage = http://dbus-cplusplus.sourceforge.net;
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index 4d27552d73516..c8bc96f80fded 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
 
 stdenv.mkDerivation rec {
-  name = "dbus-glib-0.108";
+  name = "dbus-glib-0.110";
 
   src = fetchurl {
     url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
-    sha256 = "0b307hw9j41npzr6niw1bs6ryp87m5yafg492gqwvsaj4dz0qd4z";
+    sha256 = "09g8swvc95bk1z6j8sw463p2v0dqmgm2zjfndf7i8sbcyq67dr3w";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     configureFlagsArray+=("--exec-prefix=$dev")
   '';
 
-  doCheck = true;
+  doCheck = false;
 
   passthru = { inherit dbus glib; };
 
diff --git a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
index c17a140b9c570..013913e529725 100644
--- a/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
+++ b/pkgs/development/libraries/dbus-sharp/dbus-sharp-1.0.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, pkgconfig, dbus, mono, autoreconfHook }:
+{stdenv, fetchFromGitHub, pkgconfig, mono, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "dbus-sharp-${version}";
diff --git a/pkgs/development/libraries/dbus-sharp/default.nix b/pkgs/development/libraries/dbus-sharp/default.nix
index ea7d920dc8283..40c633dda523c 100644
--- a/pkgs/development/libraries/dbus-sharp/default.nix
+++ b/pkgs/development/libraries/dbus-sharp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, pkgconfig, dbus, mono, autoreconfHook }:
+{stdenv, fetchFromGitHub, pkgconfig, mono, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "dbus-sharp-${version}";
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index aa2af9a2ebc3f..3ca2bdd9abef4 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -6,15 +6,15 @@ assert x11Support -> libX11 != null
                   && libSM != null;
 
 let
-  version = "1.10.24";
-  sha256 = "06ydmrg76l1kwl3190d72zpiy3qxy248x6gskxbj9qiqfsr4w63i";
+  version = "1.12.10";
+  sha256 = "1xywijmgfad4m3cxp0b4l6kvypwc53ckmhwwzbrc6n32jwj3ssab";
 
 self = stdenv.mkDerivation {
     name = "dbus-${version}";
     inherit version;
 
     src = fetchurl {
-      url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
+      url = "https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
       inherit sha256;
     };
 
diff --git a/pkgs/development/libraries/dbxml/cxx11.patch b/pkgs/development/libraries/dbxml/cxx11.patch
new file mode 100644
index 0000000000000..f264515c7d67f
--- /dev/null
+++ b/pkgs/development/libraries/dbxml/cxx11.patch
@@ -0,0 +1,59 @@
+diff -urN dbxml-6.1.4.orig/dbxml/src/dbxml/nodeStore/NsUpdate.cpp dbxml-6.1.4/dbxml/src/dbxml/nodeStore/NsUpdate.cpp
+--- dbxml-6.1.4.orig/dbxml/src/dbxml/nodeStore/NsUpdate.cpp	2017-05-01 16:05:29.000000000 +0100
++++ dbxml-6.1.4/dbxml/src/dbxml/nodeStore/NsUpdate.cpp	2017-09-04 11:50:20.000000000 +0100
+@@ -1359,21 +1359,13 @@
+ void NsUpdate::attributeRemoved(const DbXmlNodeImpl &node)
+ {
+ 	string key = makeKey(node);
+-#if defined(_MSC_VER) && (_MSC_VER>1600)
+ 	attrMap_.insert(make_pair(key,node.getIndex()));
+-#else
+-	attrMap_.insert(make_pair<const std::string, int>(key,node.getIndex()));
+-#endif
+ }
+ 
+ void NsUpdate::textRemoved(const DbXmlNodeImpl &node)
+ {
+ 	string key = makeKey(node);
+-#if defined(_MSC_VER) && (_MSC_VER>1600)
+ 	textDeleteMap_.insert(make_pair(key,node.getIndex()));
+-#else
+-	textDeleteMap_.insert(make_pair<const std::string, int>(key,node.getIndex()));
+-#endif
+ }
+ 
+ void NsUpdate::textRemoved(int index, const NsNid &nid,
+@@ -1381,21 +1373,13 @@
+ 			   const std::string &cname)
+ {
+ 	string key = makeKey(nid, did, cname);
+-#if defined(_MSC_VER) && (_MSC_VER>1600)
+ 	textDeleteMap_.insert(make_pair(key,index));
+-#else
+-	textDeleteMap_.insert(make_pair<const std::string, int>(key,index));
+-#endif
+ }
+ 
+ void NsUpdate::textInserted(int index, const DbXmlNodeImpl &node)
+ {
+ 	string key = makeKey(node);
+-#if defined(_MSC_VER) && (_MSC_VER>1600)
+ 	textInsertMap_.insert(make_pair(key,index));
+-#else
+-	textInsertMap_.insert(make_pair<const std::string, int>(key,index));
+-#endif
+ }
+ 
+ void NsUpdate::textInserted(int index, const NsNid &nid,
+@@ -1403,11 +1387,7 @@
+ 			    const std::string &cname)
+ {
+ 	string key = makeKey(nid, did, cname);
+-#if defined(_MSC_VER) && (_MSC_VER>1600)
+ 	textInsertMap_.insert(make_pair(key,index));
+-#else
+-	textInsertMap_.insert(make_pair<const std::string, int>(key,index));
+-#endif
+ }
+ 
+ //
diff --git a/pkgs/development/libraries/dbxml/default.nix b/pkgs/development/libraries/dbxml/default.nix
new file mode 100644
index 0000000000000..0bab58b242d03
--- /dev/null
+++ b/pkgs/development/libraries/dbxml/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, db62, xercesc, xqilla }:
+
+stdenv.mkDerivation rec {
+  name = "dbxml-${version}";
+  version = "6.1.4";
+
+  src = fetchurl {
+    url = "http://download.oracle.com/berkeley-db/${name}.tar.gz";
+    sha256 = "a8fc8f5e0c3b6e42741fa4dfc3b878c982ff8f5e5f14843f6a7e20d22e64251a";
+  };
+
+  patches = [
+    ./cxx11.patch
+    ./incorrect-optimization.patch
+  ];
+
+  buildInputs = [
+    db62 xercesc xqilla
+  ];
+
+  configureFlags = [
+    "--with-berkeleydb=${db62.out}"
+    "--with-xerces=${xercesc}"
+    "--with-xqilla=${xqilla}"
+  ];
+
+  preConfigure = ''
+    cd dbxml
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://www.oracle.com/database/berkeley-db/xml.html;
+    description = "Embeddable XML database based on Berkeley DB";
+    license = licenses.agpl3;
+    maintainers = with maintainers; [ danieldk ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/dbxml/incorrect-optimization.patch b/pkgs/development/libraries/dbxml/incorrect-optimization.patch
new file mode 100644
index 0000000000000..630dc972e1888
--- /dev/null
+++ b/pkgs/development/libraries/dbxml/incorrect-optimization.patch
@@ -0,0 +1,34 @@
+Patch provided by Lauren Foutz. See:
+https://community.oracle.com/thread/4093422
+
+--- dbxml-6.1.4-orig/dbxml/src/dbxml/query/ParentOfChildJoinQP.cpp
++++ dbxml-6.1.4/dbxml/src/dbxml/query/ParentOfChildJoinQP.cpp
+@@ -139,28 +139,16 @@ bool ParentOfChildIterator::doJoin(Dynam
+ 
+ 	// Invarient 4: When ancestorStack_ is empty we can output the
+ 	// buffered results_, since any more results will come after them in
+ 	// document order.
+ 
+ 	while(true) {
+ 		context->testInterrupt();
+ 
+-		/* 
+-		 * If current parent's node level already be larger than
+-		 * childen's, abandon current parent and move to next one.
+-		 */
+-		if (parents_ != NULL && 
+-		    parents_->getNodeLevel() > children_->getNodeLevel()) {
+-			if(!parents_->next(context)) {
+-				delete parents_;
+-				parents_ = 0;
+-			}
+-		}
+-
+ 		int cmp = parents_ == 0 ? -1 : isDescendantOf(children_, parents_, /*orSelf*/false);
+ 		if(cmp < 0) {
+ 			if(!ancestorStack_.empty()) {
+ 				// We've found the closest ancestor - is it a parent?
+ 				if(ancestorStack_.back()->getNodeLevel() == (children_->getNodeLevel() - 1)) {
+ 					// Maintain invarient 3
+ 					if(results_.empty() || NodeInfo::compare(results_.back(), ancestorStack_.back()) < 0)
+ 						results_.push_back(ancestorStack_.back());
diff --git a/pkgs/development/libraries/dleyna-connector-dbus/default.nix b/pkgs/development/libraries/dleyna-connector-dbus/default.nix
index 94efa8e31d3af..d52f1b6a2cffa 100644
--- a/pkgs/development/libraries/dleyna-connector-dbus/default.nix
+++ b/pkgs/development/libraries/dleyna-connector-dbus/default.nix
@@ -1,13 +1,14 @@
 { stdenv, autoreconfHook, pkgconfig, fetchFromGitHub, dbus, dleyna-core, glib }:
 
 stdenv.mkDerivation rec {
-  name = "dleyna-connector-dbus";
+  pname = "dleyna-connector-dbus";
+  name = "${pname}-${version}";
   version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "01org";
-    repo = name;
-    rev = "${version}";
+    repo = pname;
+    rev = version;
     sha256 = "0vziq5gwjm79yl2swch2mz6ias20nvfddf5cqgk9zbg25cb9m117";
   };
 
@@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A D-Bus API for the dLeyna services";
-    homepage = http://01.org/dleyna;
+    homepage = https://01.org/dleyna;
     maintainers = [ maintainers.jtojnar ];
     platforms = platforms.linux;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/dleyna-core/default.nix b/pkgs/development/libraries/dleyna-core/default.nix
index 1fc65b9ac7f0b..787030eed9877 100644
--- a/pkgs/development/libraries/dleyna-core/default.nix
+++ b/pkgs/development/libraries/dleyna-core/default.nix
@@ -1,12 +1,13 @@
 { stdenv, autoreconfHook, pkgconfig, fetchFromGitHub, gupnp }:
 
 stdenv.mkDerivation rec {
-  name = "dleyna-core";
+  pname = "dleyna-core";
+  name = "${pname}-${version}";
   version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "01org";
-    repo = name;
+    repo = pname;
     rev = "v${version}";
     sha256 = "1x5vj5zfk95avyg6g3nf6gar250cfrgla2ixj2ifn8pcick2d9vq";
   };
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library of utility functions that are used by the higher level dLeyna";
-    homepage = http://01.org/dleyna;
+    homepage = https://01.org/dleyna;
     maintainers = [ maintainers.jtojnar ];
     platforms = platforms.linux;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/dleyna-renderer/default.nix b/pkgs/development/libraries/dleyna-renderer/default.nix
index 176b05126b2be..99af28111a763 100644
--- a/pkgs/development/libraries/dleyna-renderer/default.nix
+++ b/pkgs/development/libraries/dleyna-renderer/default.nix
@@ -1,13 +1,14 @@
 { stdenv, autoreconfHook, pkgconfig, fetchFromGitHub, dleyna-connector-dbus, dleyna-core, gssdp, gupnp, gupnp-av, gupnp-dlna, libsoup, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "dleyna-renderer";
+  pname = "dleyna-renderer";
+  name = "${pname}-${version}";
   version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "01org";
-    repo = name;
-    rev = "${version}";
+    repo = pname;
+    rev = version;
     sha256 = "0jy54aq8hgrvzchrvfzqaj4pcn0cfhafl9bv8a9p6j82yjk4pvpp";
   };
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library to discover and manipulate Digital Media Renderers";
-    homepage = http://01.org/dleyna;
+    homepage = https://01.org/dleyna;
     maintainers = [ maintainers.jtojnar ];
     platforms = platforms.linux;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/dleyna-server/default.nix b/pkgs/development/libraries/dleyna-server/default.nix
index d36e665bd85db..79b0155c91321 100644
--- a/pkgs/development/libraries/dleyna-server/default.nix
+++ b/pkgs/development/libraries/dleyna-server/default.nix
@@ -1,13 +1,14 @@
 { stdenv, autoreconfHook, makeWrapper, pkgconfig, fetchFromGitHub, dleyna-core, dleyna-connector-dbus, gssdp, gupnp, gupnp-av, gupnp-dlna, libsoup }:
 
 stdenv.mkDerivation rec {
-  name = "dleyna-server";
+  pname = "dleyna-server";
+  name = "${pname}-${version}";
   version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "01org";
-    repo = name;
-    rev = "${version}";
+    repo = pname;
+    rev = version;
     sha256 = "13a2i6ms27s46yxdvlh2zm7pim7jmr5cylnygzbliz53g3gxxl3j";
   };
 
@@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library to discover, browse and manipulate Digital Media Servers";
-    homepage = http://01.org/dleyna;
+    homepage = https://01.org/dleyna;
     maintainers = [ maintainers.jtojnar ];
     platforms = platforms.linux;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix
index eaae1f7ecdad6..e5e3c2d662c2b 100644
--- a/pkgs/development/libraries/dlib/default.nix
+++ b/pkgs/development/libraries/dlib/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, openblas, libpng, libjpeg
+{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, libpng, libjpeg
 , guiSupport ? false, libX11
 }:
 
 stdenv.mkDerivation rec {
-  version = "19.9";
+  version = "19.13";
   name = "dlib-${version}";
 
   src = fetchFromGitHub {
     owner = "davisking";
     repo = "dlib";
     rev ="v${version}";
-    sha256 = "0lc54r928j9dg7f2wn25m887z24d31wrc14v2hn6aknp1z084lrc";
+    sha256 = "11ia4pd2lm2s9hzwrdvimj3r2qcnvjdp3g4fry2j1a6z9f99zvz3";
   };
 
   postPatch = ''
@@ -19,14 +19,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ openblas libpng libjpeg ] ++ lib.optional guiSupport libX11;
+  buildInputs = [ libpng libjpeg ] ++ lib.optional guiSupport libX11;
 
   meta = with stdenv.lib; {
     description = "A general purpose cross-platform C++ machine learning library";
     homepage = http://www.dlib.net;
     license = licenses.boost;
-    maintainers = with maintainers; [ christopherpoole ];
+    maintainers = with maintainers; [ christopherpoole ma27 ];
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/development/libraries/dyncall/default.nix b/pkgs/development/libraries/dyncall/default.nix
new file mode 100644
index 0000000000000..704f5c51c9c90
--- /dev/null
+++ b/pkgs/development/libraries/dyncall/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "dyncall-${version}";
+  version = "1.0";
+
+  src = fetchurl {
+    url = http://www.dyncall.org/r1.0/dyncall-1.0.tar.gz;
+    # http://www.dyncall.org/r1.0/SHA256
+    sha256 = "d1b6d9753d67dcd4d9ea0708ed4a3018fb5bfc1eca5f37537fba2bc4f90748f2";
+  };
+
+  # XXX: broken tests, failures masked, lets avoid crashing a bunch for now :)
+  doCheck = false;
+
+  # install bits not automatically installed
+  postInstall = ''
+    # install cmake modules to make using dyncall easier
+    # This is essentially what -DINSTALL_CMAKE_MODULES=ON if using cmake build
+    # We don't use the cmake-based build since it installs different set of headers
+    # (mostly fewer headers, but installs dyncall_alloc_wx.h "instead" dyncall_alloc.h)
+    # and we'd have to patch the cmake module installation to not use CMAKE_ROOT anyway :).
+    install -D -t $out/lib/cmake ./buildsys/cmake/Modules/Find*.cmake
+
+    # manpages are nice, install them
+    # doing this is in the project's "ToDo", so check this when updating!
+    install -D -t $out/share/man/man3 ./*/*.3
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Highly dynamic multi-platform foreign function call interface library";
+    homepage = http://www.dyncall.org;
+    license = licenses.isc;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/libraries/easyloggingpp/default.nix b/pkgs/development/libraries/easyloggingpp/default.nix
index 4aa1f279886a9..8c6337cfaf60a 100644
--- a/pkgs/development/libraries/easyloggingpp/default.nix
+++ b/pkgs/development/libraries/easyloggingpp/default.nix
@@ -4,12 +4,12 @@
 { stdenv, fetchFromGitHub, cmake, gtest }:
 stdenv.mkDerivation rec {
   name = "easyloggingpp-${version}";
-  version = "9.96.1";
+  version = "9.96.4";
   src = fetchFromGitHub {
     owner = "muflihun";
     repo = "easyloggingpp";
     rev = "v${version}";
-    sha256 = "1x5wwm62l1231sgxfwx8mj7fc8452j3f509jyxa9wd2krkpvqxmy";
+    sha256 = "0l0b8cssxkj0wlfqjj8hfnfvrjcxa81h947d54w86iadrilrsprb";
   };
 
   nativeBuildInputs = [cmake];
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index 49dcb31c0478b..5cd004c8d136f 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -6,11 +6,11 @@
 with stdenv.lib; 
 stdenv.mkDerivation rec {
   name = "eccodes-${version}";
-  version = "2.7.0";
+  version = "2.8.2";
 
   src = fetchurl {
     url = "https://software.ecmwf.int/wiki/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "0slfim64wdyd97nwv7ry0xwhiarphl93ij2v19c8a1c0dz7ld3qi";
+    sha256 = "0aki7llrdfj6273yjy8yv0d027sdbv8xs3iv68fb69s0clyygrin";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/eclib/default.nix b/pkgs/development/libraries/eclib/default.nix
index 3651b9e7660ec..2a43cbe8ee535 100644
--- a/pkgs/development/libraries/eclib/default.nix
+++ b/pkgs/development/libraries/eclib/default.nix
@@ -1,23 +1,49 @@
-{stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, autoreconfHook
-, pari, ntl, gmp}:
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, pari
+, ntl
+, gmp
+# "FLINT is optional and only used for one part of sparse matrix reduction,
+# which is used in the modular symbol code but not mwrank or other elliptic
+# curve programs." -- https://github.com/JohnCremona/eclib/blob/master/README
+, withFlint ? false, flint ? null
+}:
+
+assert withFlint -> flint != null;
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "eclib";
-  version = "20160720";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+  version = "20180815"; # upgrade might break the sage interface
+  # sage tests to run:
+  # src/sage/interfaces/mwrank.py
+  # src/sage/libs/eclib
+  # ping @timokau for more info
   src = fetchFromGitHub {
     owner = "JohnCremona";
     repo = "${pname}";
-    rev = "${version}";
-    sha256 = "0qrcd5c8cqhw9f14my6k6013w8li5vdigrjvchkr19n2l8g75j0h";
+    rev = "v${version}";
+    sha256 = "12syn83lnzx0xc4r1v3glfimbzndyilkpdmx50xrihbjz1hzczif";
   };
-  buildInputs = [pari ntl gmp];
-  nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
-  meta = {
+  buildInputs = [
+    pari
+    ntl
+    gmp
+  ] ++ stdenv.lib.optionals withFlint [
+    flint
+  ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  doCheck = true;
+  meta = with stdenv.lib; {
     inherit version;
     description = ''Elliptic curve tools'';
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    homepage = https://github.com/JohnCremona/eclib;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ raskin timokau ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/editline/default.nix b/pkgs/development/libraries/editline/default.nix
new file mode 100644
index 0000000000000..d9b5a2b64d635
--- /dev/null
+++ b/pkgs/development/libraries/editline/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "editline-${version}";
+  version = "1.15.3";
+  src = fetchFromGitHub {
+    owner = "troglobit";
+    repo = "editline";
+    rev = version;
+    sha256 = "0dm5fgq0acpprr938idwml64nclg9l6c6avirsd8r6f40qicbgma";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  dontDisableStatic = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://troglobit.com/editline.html;
+    description = "A readline() replacement for UNIX without termcap (ncurses)";
+    license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ dtzWill ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/eigen/2.0.nix b/pkgs/development/libraries/eigen/2.0.nix
index 8841855a24edf..015aeaed55bab 100644
--- a/pkgs/development/libraries/eigen/2.0.nix
+++ b/pkgs/development/libraries/eigen/2.0.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   name = "eigen-${v}";
 
   src = fetchurl {
-    url = "http://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
+    url = "https://bitbucket.org/eigen/eigen/get/${v}.tar.bz2";
     name = "eigen-${v}.tar.bz2";
     sha256 = "0q4ry2pmdb9lvm0g92wi6s6qng3m9q73n5flwbkfcz1nxmbfhmbj";
   };
diff --git a/pkgs/development/libraries/eigen/3.3.nix b/pkgs/development/libraries/eigen/3.3.nix
index 5d13fb09dccae..e6d13a5915a10 100644
--- a/pkgs/development/libraries/eigen/3.3.nix
+++ b/pkgs/development/libraries/eigen/3.3.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cmake}:
+{stdenv, fetchurl, fetchpatch, cmake}:
 
 let
   version = "3.3.4";
@@ -7,10 +7,19 @@ stdenv.mkDerivation {
   name = "eigen-${version}";
   
   src = fetchurl {
-    url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
+    url = "https://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
     name = "eigen-${version}.tar.gz";
     sha256 = "1q85bgd6hnsgn0kq73wa4jwh4qdwklfg73pgqrz4zmxvzbqyi1j2";
   };
+
+  patches = [
+    # Remove for > 3.3.4
+    # Upstream commit from 6 Apr 2018 "Fix cmake scripts with no fortran compiler"
+    (fetchpatch {
+      url    = "https://bitbucket.org/eigen/eigen/commits/ba14974d054ae9ae4ba88e5e58012fa6c2729c32/raw";
+      sha256 = "0fskiy9sbzvp693fcyv3pfq8kxxx3d3mgmaqvjbl5bpfjivij8l1";
+    })
+  ];
   
   nativeBuildInputs = [ cmake ];
 
diff --git a/pkgs/development/libraries/eigen/default.nix b/pkgs/development/libraries/eigen/default.nix
index 5869276a7977d..c120132dcb8ba 100644
--- a/pkgs/development/libraries/eigen/default.nix
+++ b/pkgs/development/libraries/eigen/default.nix
@@ -5,19 +5,21 @@ let
 in
 stdenv.mkDerivation {
   name = "eigen-${version}";
-  
+
   src = fetchurl {
-    url = "http://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
+    url = "https://bitbucket.org/eigen/eigen/get/${version}.tar.gz";
     name = "eigen-${version}.tar.gz";
     sha256 = "00l52y7m276gh8wjkqqcxz6x687azrm7a70s3iraxnpy9bxa9y04";
   };
-  
+
   nativeBuildInputs = [ cmake ];
 
+  doCheck = false; # a couple of tests fail with "Child aborted"
+
   postInstall = ''
     sed -e '/Cflags:/s@''${prefix}/@@' -i "$out"/share/pkgconfig/eigen3.pc
   '';
-  
+
   meta = with stdenv.lib; {
     description = "C++ template library for linear algebra: vectors, matrices, and related algorithms";
     license = licenses.lgpl3Plus;
diff --git a/pkgs/development/libraries/elementary-cmake-modules/default.nix b/pkgs/development/libraries/elementary-cmake-modules/default.nix
index 5287db756094c..710338842f8d2 100644
--- a/pkgs/development/libraries/elementary-cmake-modules/default.nix
+++ b/pkgs/development/libraries/elementary-cmake-modules/default.nix
@@ -1,7 +1,8 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkgconfig }:
 
-stdenv.mkDerivation {
-  name = "elementary-cmake-modules";
+stdenv.mkDerivation rec {
+  name = "elementary-cmake-modules-${version}";
+  version = "0.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
diff --git a/pkgs/development/libraries/embree/2.x.nix b/pkgs/development/libraries/embree/2.x.nix
new file mode 100644
index 0000000000000..c973c2bd9449f
--- /dev/null
+++ b/pkgs/development/libraries/embree/2.x.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, ispc, tbb, glfw,
+openimageio, libjpeg, libpng, libpthreadstubs, libX11
+}:
+
+stdenv.mkDerivation rec {
+  name = "embree-${version}";
+  version = "2.17.4";
+
+  src = fetchFromGitHub {
+    owner = "embree";
+    repo = "embree";
+    rev = "v2.17.4";
+    sha256 = "0q3r724r58j4b6cbyy657fsb78z7a2c7d5mwdp7552skynsn2mn9";
+  };
+
+  cmakeFlags = [ "-DEMBREE_TUTORIALS=OFF" ];
+  enableParallelBuilding = true;
+  
+  buildInputs = [ pkgconfig cmake ispc 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 ];
+    license = licenses.asl20;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/enchant/2.x.nix b/pkgs/development/libraries/enchant/2.x.nix
index 458b23c33e94a..8b559bd03c820 100644
--- a/pkgs/development/libraries/enchant/2.x.nix
+++ b/pkgs/development/libraries/enchant/2.x.nix
@@ -17,6 +17,8 @@ in stdenv.mkDerivation rec {
   buildInputs = [ glib hunspell ];
   propagatedBuildInputs = [ hspell aspell ]; # libtool puts it to la file
 
+  doCheck = false; # fails to compile with with "UnitTest++.h: No such file or directory"
+
   meta = with stdenv.lib; {
     description = "Generic spell checking library";
     homepage = https://abiword.github.io/enchant/;
diff --git a/pkgs/development/libraries/enchant/default.nix b/pkgs/development/libraries/enchant/default.nix
index 7363a02393528..c51475ecc2a9e 100644
--- a/pkgs/development/libraries/enchant/default.nix
+++ b/pkgs/development/libraries/enchant/default.nix
@@ -4,16 +4,17 @@ stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   version = "1.6.0";
   pname = "enchant";
-  
+
   src = fetchurl {
     url = "http://www.abisource.com/downloads/${pname}/${version}/${name}.tar.gz";
     sha256 = "0zq9yw1xzk8k9s6x83n1f9srzcwdavzazn3haln4nhp9wxxrxb1g";
   };
-  
+
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [aspell glib hunspell hspell];
-  
+  buildInputs = [ aspell glib hunspell hspell ];
+
   meta = {
+    description = "Generic spell checking library";
     homepage = http://www.abisource.com/enchant;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/enet/default.nix b/pkgs/development/libraries/enet/default.nix
index 4c3d67b8f3140..292fba1ace02a 100644
--- a/pkgs/development/libraries/enet/default.nix
+++ b/pkgs/development/libraries/enet/default.nix
@@ -13,6 +13,6 @@ stdenv.mkDerivation rec {
     description = "Simple and robust network communication layer on top of UDP";
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
index 81966f14a5687..cc62b2776edeb 100644
--- a/pkgs/development/libraries/epoxy/default.nix
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -6,13 +6,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "epoxy-${version}";
-  version = "1.5.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "anholt";
     repo = "libepoxy";
     rev = "${version}";
-    sha256 = "1ixpqb10pmdy3n9nxd5inflig9dal5502ggadcns5b58j6jr0yv0";
+    sha256 = "1811agxr7g9wd832np8sw152j468kg3qydmfkc564v54ncfcgaci";
   };
 
   outputs = [ "out" "dev" ];
@@ -25,10 +25,11 @@ stdenv.mkDerivation rec {
     substituteInPlace src/dispatch_common.h --replace "PLATFORM_HAS_GLX 0" "PLATFORM_HAS_GLX 1"
   '';
 
-  # add libGL to rpath because libepoxy dlopen()s libEGL
-  postFixup = optionalString stdenv.isLinux ''
-    patchelf --set-rpath "${stdenv.lib.makeLibraryPath [ libGL ]}:$(patchelf --print-rpath $out/lib/libepoxy.so.0.0.0)" $out/lib/libepoxy.so.0.0.0
-  '';
+  patches = [ ./libgl-path.patch ];
+
+  NIX_CFLAGS_COMPILE = ''-DLIBGL_PATH="${getLib libGL}/lib"'';
+
+  doCheck = false; # needs X11
 
   meta = {
     description = "A library for handling OpenGL function pointer management";
diff --git a/pkgs/development/libraries/epoxy/libgl-path.patch b/pkgs/development/libraries/epoxy/libgl-path.patch
new file mode 100644
index 0000000000000..6f50b9d262b50
--- /dev/null
+++ b/pkgs/development/libraries/epoxy/libgl-path.patch
@@ -0,0 +1,35 @@
+From 4046e0ac8ed93354c01de5f3b5cae790cce70404 Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Thu, 29 Mar 2018 07:21:02 -0500
+Subject: [PATCH] Explicitly search LIBGL_PATH as fallback, if defined.
+
+---
+ src/dispatch_common.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/src/dispatch_common.c b/src/dispatch_common.c
+index bc2fb94..776237b 100644
+--- a/src/dispatch_common.c
++++ b/src/dispatch_common.c
+@@ -306,6 +306,18 @@ get_dlopen_handle(void **handle, const char *lib_name, bool exit_on_fail)
+     pthread_mutex_lock(&api.mutex);
+     if (!*handle) {
+         *handle = dlopen(lib_name, RTLD_LAZY | RTLD_LOCAL);
++#ifdef LIBGL_PATH
++        if (!*handle) {
++          char pathbuf[sizeof(LIBGL_PATH) + 1 + 1024 + 1];
++          int l = snprintf(pathbuf, sizeof(pathbuf), "%s/%s", LIBGL_PATH, lib_name);
++          if (l < 0 || l >= sizeof(pathbuf)) {
++            // This really shouldn't happen
++            fprintf(stderr, "Error prefixing library pathname\n");
++            exit(1);
++          }
++          *handle = dlopen(pathbuf, RTLD_LAZY | RTLD_LOCAL);
++        }
++#endif
+         if (!*handle) {
+             if (exit_on_fail) {
+                 fprintf(stderr, "Couldn't open %s: %s\n", lib_name, dlerror());
+-- 
+2.16.3
+
diff --git a/pkgs/development/libraries/eventlog/default.nix b/pkgs/development/libraries/eventlog/default.nix
index b784088dc652f..838693ba12d0f 100644
--- a/pkgs/development/libraries/eventlog/default.nix
+++ b/pkgs/development/libraries/eventlog/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
       Where you had a simple non-structrured string in syslog() you have a
       combination of description and tag/value pairs.
     '';
-    homepage = http://www.balabit.com/support/community/products/;
+    homepage = https://www.balabit.com/support/community/products/;
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/exempi/default.nix b/pkgs/development/libraries/exempi/default.nix
index 1f58fd698da3c..ac2c21d4cf0eb 100644
--- a/pkgs/development/libraries/exempi/default.nix
+++ b/pkgs/development/libraries/exempi/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "exempi-2.4.5";
 
   src = fetchurl {
-    url = "http://libopenraw.freedesktop.org/download/${name}.tar.bz2";
+    url = "https://libopenraw.freedesktop.org/download/${name}.tar.bz2";
     sha256 = "07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0";
   };
 
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 7f5f190351791..c26a2a20a8141 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -1,11 +1,15 @@
-{ stdenv, fetchurl, fetchpatch, zlib, expat, gettext }:
+{ stdenv, fetchurl, fetchFromGitHub, fetchpatch, zlib, expat, gettext
+, autoconf }:
 
 stdenv.mkDerivation rec {
-  name = "exiv2-0.26";
+  name = "exiv2-0.26.2018.06.09";
 
-  src = fetchurl {
-    url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
-    sha256 = "1yza317qxd8yshvqnay164imm0ks7cvij8y8j86p1gqi1153qpn7";
+    #url = "http://www.exiv2.org/builds/${name}-trunk.tar.gz";
+  src = fetchFromGitHub rec {
+    owner = "exiv2";
+    repo  = "exiv2";
+    rev = "4aa57ad";
+    sha256 = "1kblpxbi4wlb0l57xmr7g23zn9adjmfswhs6kcwmd7skwi2yivcd";
   };
 
   patches = [
@@ -16,25 +20,36 @@ stdenv.mkDerivation rec {
           + "/sha512/${sha512}/${patchname}";
       sha512 = "3f9242dbd4bfa9dcdf8c9820243b13dc14990373a800c4ebb6cf7eac5653cfef"
              + "e6f2c47a94fbee4ed24f0d8c2842729d721f6100a2b215e0f663c89bfefe9e32";
-     })
-     (fetchpatch {
-       # many CVEs - see https://github.com/Exiv2/exiv2/pull/120
-       url = "https://patch-diff.githubusercontent.com/raw/Exiv2/exiv2/pull/120.patch";
-       sha256 = "1szl22xmh12hibzaqf2zi8zl377x841m52x4jm5lziw6j8g81sj8";
-       excludes = [ "test/bugfixes-test.sh" ];
-     })
+    })
+    # Two backports from master, submitted as https://github.com/Exiv2/exiv2/pull/398
+    (fetchpatch {
+      name = "CVE-2018-12264.diff";
+      url = "https://github.com/vcunat/exiv2/commit/fd18e853.diff";
+      sha256 = "0y7ahh45lpaiazjnfllndfaa5pyixh6z4kcn2ywp7qy4ra7qpwdr";
+    })
+    (fetchpatch {
+      name = "CVE-2018-12265.diff";
+      url = "https://github.com/vcunat/exiv2/commit/9ed1671bd4.diff";
+      sha256 = "1cn446pfcgsh1bn9vxikkkcy1cqq7ghz2w291h1094ydqg6w7q6w";
+    })
   ];
 
   postPatch = "patchShebangs ./src/svn_version.sh";
 
+  preConfigure = "make config"; # needed because not using tarball
+
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ gettext ];
+  nativeBuildInputs = [
+    gettext
+    autoconf # needed because not using tarball
+  ];
   propagatedBuildInputs = [ zlib expat ];
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.exiv2.org/;
     description = "A library and command-line utility to manage image metadata";
-    platforms = stdenv.lib.platforms.all;
+    platforms = platforms.all;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index e341ce842eb66..7e4d46c012ddd 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchpatch, fetchurl }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "expat-2.2.5";
+  name = "expat-2.2.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/expat/${name}.tar.bz2";
-    sha256 = "1xpd78sp7m34jqrw5x13bz7kgz0n6aj15wn4zj4gfx3ypbpk5p6r";
+    sha256 = "1wl1x93b5w457ddsdgj0lh7yjq4q6l7wfbgwhagkc8fm2qkkrd0p";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix
index 5169688614820..04d085bde73c9 100644
--- a/pkgs/development/libraries/faac/default.nix
+++ b/pkgs/development/libraries/faac/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook
+{ stdenv, fetchurl, autoreconfHook
 , mp4v2Support ? true, mp4v2 ? null
 , drmSupport ? false # Digital Radio Mondiale
 }:
diff --git a/pkgs/development/libraries/farbfeld/default.nix b/pkgs/development/libraries/farbfeld/default.nix
index 3f309f06630b7..c23fc0bc59f61 100644
--- a/pkgs/development/libraries/farbfeld/default.nix
+++ b/pkgs/development/libraries/farbfeld/default.nix
@@ -1,18 +1,22 @@
-{ stdenv, fetchgit, libpng, libjpeg }:
+{ stdenv, fetchgit, makeWrapper, file, libpng, libjpeg }:
 
 stdenv.mkDerivation rec {
   name = "farbfeld-${version}";
-  version = "3";
+  version = "4";
 
   src = fetchgit {
-    url = "http://git.suckless.org/farbfeld";
+    url = "https://git.suckless.org/farbfeld";
     rev = "refs/tags/${version}";
-    sha256 = "1k9cnw2zk9ywcn4hibf7wgi4czwyxhgjdmia6ghpw3wcz8vi71xl";
+    sha256 = "0pkmkvv5ggpzqwqdchd19442x8gh152xy5z1z13ipfznhspsf870";
   };
 
   buildInputs = [ libpng libjpeg ];
+  nativeBuildInputs = [ makeWrapper ];
 
   installFlags = "PREFIX=/ DESTDIR=$(out)";
+  postInstall = ''
+    wrapProgram "$out/bin/2ff" --prefix PATH : "${file}/bin"
+  '';
 
   meta = with stdenv.lib; {
     description = "Suckless image format with conversion tools";
diff --git a/pkgs/development/libraries/fastjson/default.nix b/pkgs/development/libraries/fastjson/default.nix
index 6cedb4d555a56..bac867978f43d 100644
--- a/pkgs/development/libraries/fastjson/default.nix
+++ b/pkgs/development/libraries/fastjson/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchFromGitHub, libtool, autoconf, automake }:
 
 stdenv.mkDerivation rec {
-  version = "v0.99.4";
+  version = "0.99.8";
   name = "fastjson-${version}";
   src = fetchFromGitHub {
     repo = "libfastjson";
     owner = "rsyslog";
-    rev = "6e057a094cb225c9d80d8d6e6b1f36ca88a942dd";
-    sha256 = "1pn207p9zns0aqm6z5l5fdgb94wyyhaw83lyvyfdxmai74nbqs65";
+    rev = "v${version}";
+    sha256 = "0qhs0g9slj3p0v2z4s3cnsx44msrlb4k78ljg7714qiziqbrbwyl";
   };
 
   buildInputs = [ autoconf automake libtool ];
diff --git a/pkgs/development/libraries/fcppt/default.nix b/pkgs/development/libraries/fcppt/default.nix
index c4332df5a3db2..660cdfa6414b1 100644
--- a/pkgs/development/libraries/fcppt/default.nix
+++ b/pkgs/development/libraries/fcppt/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       programming (which is both efficient and syntactically affordable in
       C++11).
     '';
-    homepage = http://fcppt.org;
+    homepage = https://fcppt.org;
     license = licenses.boost;
     maintainers = with maintainers; [ pmiddend ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/fflas-ffpack/1.nix b/pkgs/development/libraries/fflas-ffpack/1.nix
index 5efa378ff5fa3..eae0326c832f2 100644
--- a/pkgs/development/libraries/fflas-ffpack/1.nix
+++ b/pkgs/development/libraries/fflas-ffpack/1.nix
@@ -9,7 +9,11 @@ stdenv.mkDerivation rec {
   };
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ givaro_3_7 openblas gmpxx];
-  configureFlags = "--with-blas=-lopenblas --with-gmp=${gmpxx.dev} --with-givaro=${givaro_3_7}";
+  configureFlags = [
+    "--with-blas=-lopenblas"
+    "--with-gmp=${gmpxx.dev}"
+    "--with-givaro=${givaro_3_7}"
+  ];
   meta = {
     inherit version;
     description = ''Finite Field Linear Algebra Subroutines'';
diff --git a/pkgs/development/libraries/fflas-ffpack/default.nix b/pkgs/development/libraries/fflas-ffpack/default.nix
index edea352ae2dd1..bf7630608f7d9 100644
--- a/pkgs/development/libraries/fflas-ffpack/default.nix
+++ b/pkgs/development/libraries/fflas-ffpack/default.nix
@@ -1,23 +1,57 @@
-{stdenv, fetchFromGitHub, autoreconfHook, givaro, pkgconfig, openblas, liblapack}:
+{ stdenv, fetchFromGitHub, autoreconfHook, givaro, pkgconfig, blas
+, gmpxx
+, optimize ? false # impure
+}:
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "fflas-ffpack";
   version = "2.3.2";
+
   src = fetchFromGitHub {
     owner = "linbox-team";
     repo = "${pname}";
     rev = "v${version}";
     sha256 = "1cqhassj2dny3gx0iywvmnpq8ca0d6m82xl5rz4mb8gaxr2kwddl";
   };
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
-  buildInputs = [ givaro (liblapack.override {shared = true;}) openblas];
-  configureFlags = "--with-blas-libs=-lopenblas --with-lapack-libs=-llapack";
+
+  checkInputs = [
+    gmpxx
+  ];
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ] ++ stdenv.lib.optionals doCheck checkInputs;
+
+  buildInputs = [ givaro blas ];
+
+  configureFlags = [
+    "--with-blas-libs=-l${blas.linkName}"
+    "--with-lapack-libs=-l${blas.linkName}"
+  ] ++ stdenv.lib.optionals (!optimize) [
+    # disable SIMD instructions (which are enabled *when available* by default)
+    "--disable-sse"
+    "--disable-sse2"
+    "--disable-sse3"
+    "--disable-ssse3"
+    "--disable-sse41"
+    "--disable-sse42"
+    "--disable-avx"
+    "--disable-avx2"
+    "--disable-fma"
+    "--disable-fma4"
+  ];
+
+  doCheck = true;
+
   meta = {
     inherit version;
     description = ''Finite Field Linear Algebra Subroutines'';
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     homepage = https://linbox-team.github.io/fflas-ffpack/;
   };
 }
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 67e364715f096..e413e29e7ca1c 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, perl, texinfo, yasm
+{ stdenv, fetchurl, pkgconfig, perl, texinfo, yasm
 , hostPlatform
 /*
  *  Licensing options (yes some are listed twice, filters and such are not listed)
@@ -25,7 +25,6 @@
 , ffmpegProgram ? true # Build ffmpeg executable
 , ffplayProgram ? true # Build ffplay executable
 , ffprobeProgram ? true # Build ffprobe executable
-, ffserverProgram ? true # Build ffserver executable
 , qtFaststartProgram ? true # Build qt-faststart executable
 /*
  *  Library options
@@ -69,6 +68,7 @@
 , ladspaH ? null # LADSPA audio filtering
 , lame ? null # LAME MP3 encoder
 , libass ? null # (Advanced) SubStation Alpha subtitle rendering
+, libaom ? null # AV1 encoder
 , libbluray ? null # BluRay reading
 , libbs2b ? null # bs2b DSP library
 , libcaca ? null # Textual display (ASCII art)
@@ -78,10 +78,10 @@
 #, libiec61883 ? null, libavc1394 ? null # iec61883 (also uses libraw1394)
 #, libmfx ? null # Hardware acceleration vis libmfx
 , libmodplug ? null # ModPlug support
+, libmysofa ? null # HRTF support via SOFAlizer
 #, libnut ? null # NUT (de)muxer, native (de)muser exists
 , libogg ? null # Ogg container used by vorbis & theora
 , libopus ? null # Opus de/encoder
-, libsndio ? null # sndio playback/record support
 , libssh ? null # SFTP protocol
 , libtheora ? null # Theora encoder
 , libv4l ? null # Video 4 Linux support
@@ -98,13 +98,14 @@
 , libXv ? null # Xlib support
 , lzma ? null # xz-utils
 , nvenc ? false, nvidia-video-sdk ? null # NVIDIA NVENC support
+, callPackage # needed for NVENC to access external ffmpeg nvidia headers
 , openal ? null # OpenAL 1.1 capture support
 #, opencl ? null # OpenCL code
 , opencore-amr ? null # AMR-NB de/encoder & AMR-WB decoder
 #, opencv ? null # Video filtering
 , openglExtlib ? false, libGLU_combined ? null # OpenGL rendering
 #, openh264 ? null # H.264/AVC encoder
-, openjpeg_1 ? null # JPEG 2000 de/encoder
+, openjpeg ? null # JPEG 2000 de/encoder
 , opensslExtlib ? false, openssl ? null
 , libpulseaudio ? null # Pulseaudio input support
 , rtmpdump ? null # RTMP[E] support
@@ -119,7 +120,7 @@
 #, utvideo ? null # Ut Video de/encoder
 , vid-stab ? null # Video stabilization
 #, vo-aacenc ? null # AAC encoder
-#, vo-amrwbenc ? null # AMR-WB encoder
+, vo-amrwbenc ? null # AMR-WB encoder
 , wavpack ? null # Wavpack encoder
 , x264 ? null # H.264/AVC encoder
 , x265 ? null # H.265/HEVC encoder
@@ -159,7 +160,7 @@
  *   utvideo vo-aacenc vo-amrwbenc xvmc zvbi blackmagic-design-desktop-video
  *
  * Need fixes to support Darwin:
- *   frei0r, game-music-emu, gsm, libjack2, libssh, libvpx(stable 1.3.0), openal, openjpeg_1,
+ *   frei0r, game-music-emu, gsm, libjack2, libssh, libvpx(stable 1.3.0), openal, openjpeg,
  *   pulseaudio, rtmpdump, samba, vid-stab, wavpack, x265. xavs
  *
  * Not supported:
@@ -176,6 +177,8 @@
 let
   inherit (stdenv) isCygwin isFreeBSD isLinux;
   inherit (stdenv.lib) optional optionals optionalString enableFeature;
+
+  nv-codec-headers = callPackage ./nv-codec-headers.nix { };
 in
 
 /*
@@ -201,7 +204,6 @@ assert ffplayProgram -> avcodecLibrary
                      && swresampleLibrary
                      && SDL2 != null;
 assert ffprobeProgram -> avcodecLibrary && avformatLibrary;
-assert ffserverProgram -> avformatLibrary;
 /*
  *  Library dependencies
  */
@@ -231,11 +233,11 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "3.4.2";
+  version = "4.0.2";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib";
+    sha256 = "15rgzcmdccy4flajs63gkz4n3k24wkkg50r13l1r83lrxg4hqp59";
   };
 
   prePatch = ''
@@ -249,7 +251,10 @@ stdenv.mkDerivation rec {
       --replace /usr/local/lib/frei0r-1 ${frei0r}/lib/frei0r-1
   '';
 
+  configurePlatforms = [];
   configureFlags = [
+    "--target_os=${hostPlatform.parsed.kernel.name}"
+    "--arch=${hostPlatform.parsed.cpu.name}"
     /*
      *  Licensing flags
      */
@@ -286,7 +291,6 @@ stdenv.mkDerivation rec {
     (enableFeature ffmpegProgram "ffmpeg")
     (enableFeature ffplayProgram "ffplay")
     (enableFeature ffprobeProgram "ffprobe")
-    (enableFeature ffserverProgram "ffserver")
     /*
      *  Library flags
      */
@@ -331,6 +335,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (ilbc != null) "libilbc")
     (enableFeature (ladspaH !=null) "ladspa")
     (enableFeature (lame != null) "libmp3lame")
+    (enableFeature (libaom != null) "libaom")
     (enableFeature (libass != null) "libass")
     #(enableFeature (libavc1394 != null) null null)
     (enableFeature (libbluray != null) "libbluray")
@@ -342,6 +347,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (if isLinux then libiec61883 != null && libavc1394 != null && libraw1394 != null else false) "libiec61883")
     #(enableFeature (libmfx != null) "libmfx")
     (enableFeature (libmodplug != null) "libmodplug")
+    (enableFeature (libmysofa != null) "libmysofa")
     #(enableFeature (libnut != null) "libnut")
     (enableFeature (libopus != null) "libopus")
     (enableFeature (libssh != null) "libssh")
@@ -365,14 +371,12 @@ stdenv.mkDerivation rec {
     #(enableFeature (opencv != null) "libopencv")
     (enableFeature openglExtlib "opengl")
     #(enableFeature (openh264 != null) "openh264")
-    (enableFeature (openjpeg_1 != null) "libopenjpeg")
+    (enableFeature (openjpeg != null) "libopenjpeg")
     (enableFeature (opensslExtlib && gplLicensing) "openssl")
     (enableFeature (libpulseaudio != null) "libpulse")
     #(enableFeature quvi "libquvi")
     (enableFeature (rtmpdump != null) "librtmp")
     #(enableFeature (schroedinger != null) "libschroedinger")
-    #(enableFeature (shine != null) "libshine")
-    (enableFeature (samba != null && gplLicensing && version3Licensing) "libsmbclient")
     (enableFeature (SDL2 != null) "sdl2")
     (enableFeature (soxr != null) "libsoxr")
     (enableFeature (speex != null) "libspeex")
@@ -380,7 +384,7 @@ stdenv.mkDerivation rec {
     #(enableFeature (utvideo != null && gplLicensing) "libutvideo")
     (enableFeature (vid-stab != null && gplLicensing) "libvidstab") # Actual min. version 2.0
     #(enableFeature (vo-aacenc != null && version3Licensing) "libvo-aacenc")
-    #(enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc")
+    (enableFeature (vo-amrwbenc != null && version3Licensing) "libvo-amrwbenc")
     (enableFeature (wavpack != null) "libwavpack")
     (enableFeature (x264 != null && gplLicensing) "libx264")
     (enableFeature (x265 != null && gplLicensing) "libx265")
@@ -396,21 +400,25 @@ stdenv.mkDerivation rec {
     (enableFeature optimizationsDeveloper "optimizations")
     (enableFeature extraWarningsDeveloper "extra-warnings")
     (enableFeature strippingDeveloper "stripping")
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--cross-prefix=${stdenv.cc.targetPrefix}"
+    "--enable-cross-compile"
   ];
 
   nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
 
   buildInputs = [
     bzip2 celt fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
-    libjack2 ladspaH lame libass libbluray libbs2b libcaca libdc1394 libmodplug
+    libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
     libogg libopus libssh libtheora libvdpau libvorbis libvpx libwebp libX11
-    libxcb libXv lzma openal openjpeg_1 libpulseaudio rtmpdump opencore-amr
-    samba SDL2 soxr speex vid-stab wavpack x264 x265 xavs xvidcore zeromq4 zlib
+    libxcb libXv lzma openal openjpeg libpulseaudio rtmpdump opencore-amr
+    samba SDL2 soxr speex vid-stab vo-amrwbenc wavpack x264 x265 xavs xvidcore
+    zeromq4 zlib
   ] ++ optional openglExtlib libGLU_combined
     ++ optionals nonfreeLicensing [ fdk_aac openssl ]
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optionals isLinux [ alsaLib libraw1394 libv4l ]
-    ++ optionals nvenc [ nvidia-video-sdk ]
+    ++ optionals nvenc [ nvidia-video-sdk nv-codec-headers ]
     ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation
                                    MediaToolbox VideoDecodeAcceleration
                                    libiconv ];
@@ -431,21 +439,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
-
   enableParallelBuilding = true;
 
-  /* Cross-compilation is untested, consider this an outline, more work
-     needs to be done to portions of the build to get it to work correctly */
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.targetPrefix}"
-      "--enable-cross-compile"
-      "--target_os=${hostPlatform.parsed.kernel.name}"
-      "--arch=${hostPlatform.arch}"
-    ];
-  };
-
   meta = with stdenv.lib; {
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
     homepage = https://www.ffmpeg.org/;
diff --git a/pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix b/pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix
new file mode 100644
index 0000000000000..03599c91bf04f
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg-full/nv-codec-headers.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  name = "nv-codec-headers-${version}";
+  version = "n8.1.24.2";
+
+  src = fetchgit {
+    url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
+    rev = "${version}";
+    sha256 = "122i3f6whiz5yp44dhk73ifr1973z8vvfbg4216vb782bl8b5bam";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "ffmpeg nvidia headers for NVENC";
+    homepage = http://ffmpeg.org/;
+    license = stdenv.lib.licenses.gpl3Plus;
+    maintainers = [ stdenv.lib.maintainers.MP2E ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ffmpeg-sixel/default.nix b/pkgs/development/libraries/ffmpeg-sixel/default.nix
index a3ce9ea9c2bf8..4607d3e2f1975 100644
--- a/pkgs/development/libraries/ffmpeg-sixel/default.nix
+++ b/pkgs/development/libraries/ffmpeg-sixel/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pkgconfig, perl, libsixel, yasm
+{ stdenv, fetchFromGitHub, pkgconfig, libsixel, yasm
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index ea28769668c57..5ffbc215d8b38 100644
--- a/pkgs/development/libraries/ffmpeg/2.8.nix
+++ b/pkgs/development/libraries/ffmpeg/2.8.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.13";
+  version = "${branch}.14";
   branch = "2.8";
-  sha256 = "0y3712ivmpr5dw1nsk1bqpd4b7ldzd69ak4vwbl4q02ab35ri6yz";
+  sha256 = "1g6x3lyjl1zlfksizj1ys61kj97yg0xf4dlr6sr5acpbja3a26yn";
 })
diff --git a/pkgs/development/libraries/ffmpeg/3.4.nix b/pkgs/development/libraries/ffmpeg/3.4.nix
index 98cbfdf43f6c8..b99c7240daec3 100644
--- a/pkgs/development/libraries/ffmpeg/3.4.nix
+++ b/pkgs/development/libraries/ffmpeg/3.4.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix (args // rec {
   version = "${branch}";
-  branch = "3.4.2";
-  sha256 = "0nkq4451masmzlx3p4vprqwc0sl2iwqxbzjrngmvj29q4azp00zb";
+  branch = "3.4.4";
+  sha256 = "0xmcijcpa7b59ws5ycmnp0a3pjmnpgly0zv8yff6if4p7pw7406f";
   darwinFrameworks = [ Cocoa CoreMedia ];
 })
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
new file mode 100644
index 0000000000000..b470d45ba43fe
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -0,0 +1,12 @@
+{ stdenv, callPackage, fetchpatch
+# Darwin frameworks
+, Cocoa, CoreMedia
+, ...
+}@args:
+
+callPackage ./generic.nix (args // rec {
+  version = "${branch}";
+  branch = "4.0.2";
+  sha256 = "0mnh41j3kzi3x3clai1yhqasr1kc8zvd5cz0283pxhs2bxrm2v1l";
+  darwinFrameworks = [ Cocoa CoreMedia ];
+})
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 985f328a22dd9..4bb995ff0743e 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -7,8 +7,8 @@
 # Build options
 , runtimeCpuDetectBuild ? true # Detect CPU capabilities at runtime
 , multithreadBuild ? true # Multithreading via pthreads/win32 threads
-, sdlSupport ? !stdenv.isArm, SDL ? null, SDL2 ? null
-, vdpauSupport ? !stdenv.isArm, libvdpau ? null
+, sdlSupport ? !stdenv.isAarch32, SDL ? null, SDL2 ? null
+, vdpauSupport ? !stdenv.isAarch32, libvdpau ? null
 # Developer options
 , debugDeveloper ? false
 , optimizationsDeveloper ? true
@@ -26,7 +26,7 @@
  * see `ffmpeg-full' for an ffmpeg build with all features included.
  *
  * Need fixes to support Darwin:
- *   libvpx pulseaudio
+ *   pulseaudio
  *
  * Known issues:
  * 0.6     - fails to compile (unresolved) (so far, only disabling a number of
@@ -42,7 +42,7 @@
  */
 
 let
-  inherit (stdenv) icCygwin isDarwin isFreeBSD isLinux isArm;
+  inherit (stdenv) isDarwin isFreeBSD isLinux isAarch32;
   inherit (stdenv.lib) optional optionals enableFeature;
 
   cmpVer = builtins.compareVersions;
@@ -55,9 +55,11 @@ let
   verFix = withoutFix: fixVer: withFix: if reqMatch fixVer then withFix else withoutFix;
 
   # Disable dependency that needs fixes before it will work on Darwin or Arm
-  disDarwinOrArmFix = origArg: minVer: fixArg: if ((isDarwin || isArm) && reqMin minVer) then fixArg else origArg;
+  disDarwinOrArmFix = origArg: minVer: fixArg: if ((isDarwin || isAarch32) && reqMin minVer) then fixArg else origArg;
 
-  vaapiSupport = reqMin "0.6" && ((isLinux || isFreeBSD) && !isArm);
+  vaapiSupport = reqMin "0.6" && ((isLinux || isFreeBSD) && !isAarch32);
+
+  vpxSupport = reqMin "0.6" && !isAarch32;
 in
 
 assert openglSupport -> libGLU_combined != null;
@@ -79,7 +81,10 @@ stdenv.mkDerivation rec {
     ++ optional (reqMin "1.0") "doc" ; # just dev-doc
   setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
 
+  configurePlatforms = [];
   configureFlags = [
+      "--arch=${hostPlatform.parsed.cpu.name}"
+      "--target_os=${hostPlatform.parsed.kernel.name}"
     # License
       "--enable-gpl"
       "--enable-version3"
@@ -103,7 +108,7 @@ stdenv.mkDerivation rec {
       "--enable-ffmpeg"
       "--disable-ffplay"
       (ifMinVer "0.6" "--enable-ffprobe")
-      "--disable-ffserver"
+      (if reqMin "4" then null else "--disable-ffserver")
     # Libraries
       (ifMinVer "0.6" "--enable-avcodec")
       (ifMinVer "0.6" "--enable-avdevice")
@@ -127,7 +132,7 @@ stdenv.mkDerivation rec {
       (ifMinVer "0.6" (enableFeature vaapiSupport "vaapi"))
       "--enable-vdpau"
       "--enable-libvorbis"
-      (disDarwinOrArmFix (ifMinVer "0.6" "--enable-libvpx") "0.6" "--disable-libvpx")
+      (ifMinVer "0.6" (enableFeature vpxSupport "libvpx"))
       (ifMinVer "2.4" "--enable-lzma")
       (ifMinVer "2.2" (enableFeature openglSupport "opengl"))
       (disDarwinOrArmFix (ifMinVer "0.9" "--enable-libpulse") "0.9" "--disable-libpulse")
@@ -145,6 +150,9 @@ stdenv.mkDerivation rec {
       "--disable-stripping"
     # Disable mmx support for 0.6.90
       (verFix null "0.6.90" "--disable-mmx")
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
+      "--enable-cross-compile"
   ] ++ optional stdenv.cc.isClang "--cc=clang";
 
   nativeBuildInputs = [ perl pkgconfig texinfo yasm ];
@@ -153,33 +161,29 @@ stdenv.mkDerivation rec {
     bzip2 fontconfig freetype gnutls libiconv lame libass libogg libtheora
     libvdpau libvorbis lzma soxr x264 x265 xvidcore zlib libopus
   ] ++ optional openglSupport libGLU_combined
-    ++ optionals (!isDarwin && !isArm) [ libvpx libpulseaudio ] # Need to be fixed on Darwin and ARM
-    ++ optional ((isLinux || isFreeBSD) && !isArm) libva
+    ++ optional vpxSupport libvpx
+    ++ optionals (!isDarwin && !isAarch32) [ libpulseaudio ] # Need to be fixed on Darwin and ARM
+    ++ optional ((isLinux || isFreeBSD) && !isAarch32) libva
     ++ optional isLinux alsaLib
     ++ optionals isDarwin darwinFrameworks
     ++ optional vdpauSupport libvdpau
     ++ optional sdlSupport (if reqMin "3.2" then SDL2 else SDL);
 
-
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
+  # ffmpeg 3+ generates pkg-config (.pc) files that don't have the
+  # form automatically handled by the multiple-outputs hooks.
   postFixup = ''
     moveToOutput bin "$bin"
     moveToOutput share/ffmpeg/examples "$doc"
+    for pc in ''${!outputDev}/lib/pkgconfig/*.pc; do
+      substituteInPlace $pc \
+        --replace "includedir=$out" "includedir=''${!outputInclude}"
+    done
   '';
 
-  /* Cross-compilation is untested, consider this an outline, more work
-     needs to be done to portions of the build to get it to work correctly */
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
-      "--cross-prefix=${stdenv.cc.targetPrefix}"
-      "--enable-cross-compile"
-      "--target_os=${hostPlatform.parsed.kernel.name}"
-      "--arch=${hostPlatform.arch}"
-    ];
-  };
-
   installFlags = [ "install-man" ];
 
   passthru = {
@@ -190,11 +194,11 @@ stdenv.mkDerivation rec {
     description = "A complete, cross-platform solution to record, convert and stream audio and video";
     homepage = http://www.ffmpeg.org/;
     longDescription = ''
-      FFmpeg is the leading multimedia framework, able to decode, encode, transcode, 
-      mux, demux, stream, filter and play pretty much anything that humans and machines 
-      have created. It supports the most obscure ancient formats up to the cutting edge. 
-      No matter if they were designed by some standards committee, the community or 
-      a corporation. 
+      FFmpeg is the leading multimedia framework, able to decode, encode, transcode,
+      mux, demux, stream, filter and play pretty much anything that humans and machines
+      have created. It supports the most obscure ancient formats up to the cutting edge.
+      No matter if they were designed by some standards committee, the community or
+      a corporation.
     '';
     license = licenses.gpl3;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index 9e76c1e640017..a1cc11fb8c1e7 100644
--- a/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, fetchFromGitHub, stdenv, ffmpeg, cmake, libpng, pkgconfig, libjpeg
+{ fetchFromGitHub, stdenv, ffmpeg, cmake, libpng, pkgconfig, libjpeg
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 701209971074d..bc5de5f9730fa 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -1,11 +1,11 @@
-{ fetchurl, stdenv, lib, precision ? "double" }:
+{ fetchurl, stdenv, lib, precision ? "double", perl }:
 
 with lib;
 
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
 let
-  version = "3.3.7";
+  version = "3.3.8";
   withDoc = stdenv.cc.isGNU;
 in
 
@@ -13,8 +13,11 @@ stdenv.mkDerivation rec {
   name = "fftw-${precision}-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
-    sha256 = "0wsms8narnbhfsa8chdflv2j9hzspvflblnqdn7hw8x5xdzrnq1v";
+    urls = [
+      "http://fftw.org/fftw-${version}.tar.gz"
+      "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
+    ];
+    sha256 = "00z3k8fq561wq2khssqg0kallk0504dzlx989x3vvicjdqpjc4v1";
   };
 
   outputs = [ "out" "dev" "man" ]
@@ -35,6 +38,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  checkInputs = [ perl ];
+
   meta = with stdenv.lib; {
     description = "Fastest Fourier Transform in the West library";
     homepage = http://www.fftw.org/;
diff --git a/pkgs/development/libraries/filter-audio/default.nix b/pkgs/development/libraries/filter-audio/default.nix
index 3faba45714a0f..9dc0776f08a7a 100644
--- a/pkgs/development/libraries/filter-audio/default.nix
+++ b/pkgs/development/libraries/filter-audio/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Lightweight audio filtering library made from webrtc code";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ viric jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/flann/default.nix b/pkgs/development/libraries/flann/default.nix
index 3cc518fee5014..a25f3ea04e27f 100644
--- a/pkgs/development/libraries/flann/default.nix
+++ b/pkgs/development/libraries/flann/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, unzip, cmake, python }:
+{ stdenv, fetchFromGitHub, fetchpatch, unzip, cmake, python }:
 
 stdenv.mkDerivation {
   name = "flann-1.9.1";
@@ -10,6 +10,14 @@ stdenv.mkDerivation {
     sha256 = "13lg9nazj5s9a41j61vbijy04v6839i67lqd925xmxsbybf36gjc";
   };
 
+  patches = [
+    # Upstream issue: https://github.com/mariusmuja/flann/issues/369
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/buildroot/buildroot/45a39b3e2ba42b72d19bfcef30db1b8da9ead51a/package/flann/0001-src-cpp-fix-cmake-3.11-build.patch";
+      sha256 = "1gmj06cmnqvwxx649mxaivd35727wj6w7710zbcmmgmsnyfh2js4";
+    })
+  ];
+
   buildInputs = [ unzip cmake python ];
 
   meta = {
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
new file mode 100644
index 0000000000000..6591b13834e02
--- /dev/null
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -0,0 +1,75 @@
+{ stdenv, fetchurl, autoreconfHook, docbook_xml_dtd_412, docbook_xml_dtd_42, docbook_xml_dtd_43, docbook_xsl, which, libxml2
+, gobjectIntrospection, gtk-doc, intltool, libxslt, pkgconfig, xmlto, appstream-glib, substituteAll, glibcLocales, yacc
+, bubblewrap, bzip2, dbus, glib, gpgme, json-glib, libarchive, libcap, libseccomp, coreutils, python2, hicolor-icon-theme
+, libsoup, lzma, ostree, polkit, python3, systemd, xorg, valgrind, glib-networking, makeWrapper, gnome3 }:
+
+let
+  version = "0.99.3";
+  desktop_schemas = gnome3.gsettings-desktop-schemas;
+in stdenv.mkDerivation rec {
+  name = "flatpak-${version}";
+
+  outputs = [ "out" "man" "doc" "installedTests" ];
+
+  src = fetchurl {
+    url = "https://github.com/flatpak/flatpak/releases/download/${version}/${name}.tar.xz";
+    sha256 = "0wd6ix1qyz8wmjkfrmr6j99gwywqs7ak1ilsn1ljp72g2z449ayk";
+  };
+
+  patches = [
+    (substituteAll {
+      src = ./fix-test-paths.patch;
+      inherit coreutils python2 glibcLocales;
+      hicolorIconTheme = hicolor-icon-theme;
+    })
+    # patch taken from gtk_doc
+    ./respect-xml-catalog-files-var.patch
+    ./use-flatpak-from-path.patch
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook libxml2 docbook_xml_dtd_412 docbook_xml_dtd_42 docbook_xml_dtd_43 docbook_xsl which gobjectIntrospection
+    gtk-doc intltool libxslt pkgconfig xmlto appstream-glib yacc makeWrapper
+  ] ++ stdenv.lib.optionals doCheck checkInputs;
+
+  buildInputs = [
+    bubblewrap bzip2 dbus glib gpgme json-glib libarchive libcap libseccomp
+    libsoup lzma ostree polkit python3 systemd xorg.libXau
+  ];
+
+  checkInputs = [ valgrind ];
+
+  doCheck = false; # TODO: some issues with temporary files
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--with-system-bubblewrap=${bubblewrap}/bin/bwrap"
+    "--localstatedir=/var"
+    "--enable-installed-tests"
+  ];
+
+  makeFlags = [
+    "installed_testdir=$(installedTests)/libexec/installed-tests/flatpak"
+    "installed_test_metadir=$(installedTests)/share/installed-tests/flatpak"
+  ];
+
+  postPatch = ''
+    patchShebangs buildutil
+    patchShebangs tests
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/flatpak \
+      --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules" \
+      --prefix XDG_DATA_DIRS : "${desktop_schemas}/share/gsettings-schemas/${desktop_schemas.name}"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Linux application sandboxing and distribution framework";
+    homepage = https://flatpak.org/;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/flatpak/fix-test-paths.patch b/pkgs/development/libraries/flatpak/fix-test-paths.patch
new file mode 100644
index 0000000000000..3f4bc56721ee3
--- /dev/null
+++ b/pkgs/development/libraries/flatpak/fix-test-paths.patch
@@ -0,0 +1,157 @@
+--- a/tests/libtest.sh
++++ b/tests/libtest.sh
+@@ -315,7 +315,7 @@
+         # running installed-tests: assume we know what we're doing
+         :
+     elif ! "$FLATPAK_BWRAP" --unshare-ipc --unshare-net --unshare-pid \
+-            --ro-bind / / /bin/true > bwrap-result 2>&1; then
++            --ro-bind / / @coreutils@/bin/true > bwrap-result 2>&1; then
+         sed -e 's/^/# /' < bwrap-result
+         echo "1..0 # SKIP Cannot run bwrap"
+         exit 0
+@@ -323,7 +323,7 @@
+ }
+ 
+ skip_without_python2 () {
+-    if ! test -f /usr/bin/python2 || ! /usr/bin/python2 -c "import sys; sys.exit(0 if sys.version_info >= (2, 7) else 1)" ; then
++    if ! test -f @python2@/bin/python2 || ! @python2@/bin/python2 -c "import sys; sys.exit(0 if sys.version_info >= (2, 7) else 1)" ; then
+         echo "1..0 # SKIP this test requires /usr/bin/python2 (2.7) support"
+         exit 0
+     fi
+@@ -335,12 +335,12 @@
+ export DBUS_SESSION_BUS_ADDRESS="$(cat dbus-session-bus-address)"
+ DBUS_SESSION_BUS_PID="$(cat dbus-session-bus-pid)"
+ 
+-if ! /bin/kill -0 "$DBUS_SESSION_BUS_PID"; then
++if ! @coreutils@/bin/kill -0 "$DBUS_SESSION_BUS_PID"; then
+     assert_not_reached "Failed to start dbus-daemon"
+ fi
+ 
+ cleanup () {
+-    /bin/kill -9 $DBUS_SESSION_BUS_PID ${FLATPAK_HTTP_PID:-}
++    @coreutils@/bin/kill -9 $DBUS_SESSION_BUS_PID ${FLATPAK_HTTP_PID:-}
+     gpg-connect-agent --homedir "${FL_GPG_HOMEDIR}" killagent /bye || true
+     fusermount -u $XDG_RUNTIME_DIR/doc || :
+     if test -n "${TEST_SKIP_CLEANUP:-}"; then
+--- a/tests/make-test-runtime.sh
++++ b/tests/make-test-runtime.sh
+@@ -26,6 +26,7 @@
+ PATH="$PATH:/usr/sbin:/sbin"
+ 
+ # Add bash and dependencies
++mkdir -p ${DIR}/nix/store
+ mkdir -p ${DIR}/usr/bin
+ mkdir -p ${DIR}/usr/lib
+ ln -s ../lib ${DIR}/usr/lib64
+@@ -35,73 +36,27 @@
+ else
+     cp `which ldconfig` ${DIR}/usr/bin
+ fi
+-LIBS=`mktemp`
+-BINS=`mktemp`
+-
+-add_bin() {
+-    local f=$1
+-    shift
+-
+-    if grep -qFe "${f}" $BINS; then
+-        # Already handled
+-        return 0
+-    fi
+-
+-    echo $f >> $BINS
+-
+-    # Add library dependencies
+-    (ldd "${f}" | sed "s/.* => //"  | awk '{ print $1}' | grep ^/ | sort -u -o $LIBS $LIBS -)  || true
+-
+-    local shebang=$(sed -n '1s/^#!\([^ ]*\).*/\1/p' "${f}")
+-    if [ x$shebang != x ]; then
+-        add_bin "$shebang"
+-    fi
+-}
+-
+ for i in $@; do
+-    I=`which $i`
+-    add_bin $I
+-    if test $i == python2; then
+-        mkdir -p ${DIR}/usr/lib/python2.7/lib-dynload
+-        # This is a hardcoded minimal set of modules we need in the current tests.
+-        # Pretty hacky stuff. Add modules as needed.
+-        PYDIR=/usr/lib/python2.7
+-        if test -d /usr/lib64/python2.7; then PYDIR=/usr/lib64/python2.7; fi
+-        for py in site os stat posixpath genericpath warnings \
+-                       linecache types UserDict abc _abcoll \
+-                       _weakrefset copy_reg traceback sysconfig \
+-                       re sre_compile sre_parse sre_constants \
+-                       _sysconfigdata ; do
+-            cp ${PYDIR}/$py.py ${DIR}/usr/lib/python2.7
+-        done
+-        # These might not exist, depending how Python was configured; and the
+-        # part after ${so} might be "module" or ".x86_64-linux-gnu" or
+-        # something else
+-        for so in _locale strop ; do
+-            cp ${PYDIR}/lib-dynload/${so}*.so ${DIR}/usr/lib/python2.7/lib-dynload || :
+-        done
+-        for plat in $( cd ${PYDIR} && echo plat-* ); do
+-            test -e ${PYDIR}/${plat} || continue
+-            mkdir -p ${DIR}/usr/lib/python2.7/${plat}
+-            cp ${PYDIR}/${plat}/*.py ${DIR}/usr/lib/python2.7/${plat}/
+-        done
+-    fi
+-done
+-for i in `cat $BINS`; do
+-    echo Adding binary $i 1>&2
+-    cp "$i" ${DIR}/usr/bin/
+-done
+-for i in `cat $LIBS`; do
+-    echo Adding library $i 1>&2
+-    cp "$i" ${DIR}/usr/lib/
++    I=$(readlink -f $(which $i))
++    requisites=$(nix-store --query --requisites "$I")
++    for r in $requisites; do
++        # a single store item can be needed by multiple paths, no need to copy it again
++        if [ ! -e ${DIR}/$r ]; then
++            cp -r $r ${DIR}/$r
++        fi
++    done
++    ln -s $I ${DIR}/usr/bin/$i
+ done
+ ln -s bash ${DIR}/usr/bin/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.
++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
++find ${DIR} -type l | xargs -I '{}' sh -c 'tg="$(readlink "$1")"; newtg="${tg#/nix/store/}"; if [ "$tg" != "$newtg" ]; then ln -fs "/usr/store/$newtg" "$1"; fi' -- '{}' # replace symlink targets
++
++# We copy the whole locale archive because we do not have C.UTF8 locale
+ mkdir -p ${DIR}/usr/lib/locale/
+-cp -r /usr/lib/locale/C.* ${DIR}/usr/lib/locale/en_US
++cp @glibcLocales@/lib/locale/locale-archive ${DIR}/usr/lib/locale/locale-archive
+ 
+ if [ x$COLLECTION_ID != x ]; then
+     collection_args=--collection-id=${COLLECTION_ID}
+--- a/tests/testlibrary.c
++++ b/tests/testlibrary.c
+@@ -584,7 +584,7 @@
+     {
+       gint exit_code = 0;
+       char *argv[] = { (char *) bwrap, "--unshare-ipc", "--unshare-net",
+-                       "--unshare-pid", "--ro-bind", "/", "/", "/bin/true", NULL };
++                       "--unshare-pid", "--ro-bind", "/", "/", "@coreutils@/bin/true", NULL };
+       g_autofree char *argv_str = g_strjoinv (" ", argv);
+       g_test_message ("Spawning %s", argv_str);
+       g_spawn_sync (NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL, &exit_code, &error);
+--- a/triggers/gtk-icon-cache.trigger
++++ b/triggers/gtk-icon-cache.trigger
+@@ -1,7 +1,7 @@
+ #!/bin/sh
+ 
+ if test \( -x "$(which gtk-update-icon-cache 2>/dev/null)" \) -a \( -d $1/exports/share/icons/hicolor \); then
+-    cp /usr/share/icons/hicolor/index.theme $1/exports/share/icons/hicolor/
++    cp @hicolorIconTheme@/share/icons/hicolor/index.theme $1/exports/share/icons/hicolor/
+     for dir in $1/exports/share/icons/*; do
+         if test -f $dir/index.theme; then
+             if ! gtk-update-icon-cache --quiet $dir; then
diff --git a/pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch b/pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch
new file mode 100644
index 0000000000000..0e259aebd8a5e
--- /dev/null
+++ b/pkgs/development/libraries/flatpak/respect-xml-catalog-files-var.patch
@@ -0,0 +1,13 @@
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -40,8 +40,8 @@
+ [
+   AC_REQUIRE([JH_PATH_XML_CATALOG],[JH_PATH_XML_CATALOG(,[:])])dnl
+   AC_MSG_CHECKING([for ifelse([$2],,[$1],[$2]) in XML catalog])
+-  if $jh_found_xmlcatalog && \
+-     AC_RUN_LOG([$XMLCATALOG --noout "$XML_CATALOG_FILE" "$1" >&2]); then
++  # empty argument forces libxml to use XML_CATALOG_FILES variable
++  if AC_RUN_LOG([$XMLCATALOG --noout "" "$1" >&2]); then
+     AC_MSG_RESULT([found])
+     ifelse([$3],,,[$3
+ ])dnl
diff --git a/pkgs/development/libraries/flatpak/use-flatpak-from-path.patch b/pkgs/development/libraries/flatpak/use-flatpak-from-path.patch
new file mode 100644
index 0000000000000..e855902a9301c
--- /dev/null
+++ b/pkgs/development/libraries/flatpak/use-flatpak-from-path.patch
@@ -0,0 +1,48 @@
+--- a/common/flatpak-dir.c
++++ b/common/flatpak-dir.c
+@@ -5467,7 +5467,7 @@ export_desktop_file (const char   *app,
+ 
+       new_exec = g_string_new ("");
+       g_string_append_printf (new_exec,
+-                              FLATPAK_BINDIR "/flatpak run --branch=%s --arch=%s",
++                              "flatpak run --branch=%s --arch=%s",
+                               escaped_branch,
+                               escaped_arch);
+ 
+@@ -6644,8 +6644,8 @@ flatpak_dir_deploy (FlatpakDir          *self,
+                                        error))
+         return FALSE;
+ 
+-      bin_data = g_strdup_printf ("#!/bin/sh\nexec %s/flatpak run --branch=%s --arch=%s %s \"$@\"\n",
+-                                  FLATPAK_BINDIR, escaped_branch, escaped_arch, escaped_app);
++      bin_data = g_strdup_printf ("#!/bin/sh\nexec flatpak run --branch=%s --arch=%s %s \"$@\"\n",
++                                  escaped_branch, escaped_arch, escaped_app);
+       if (!g_file_replace_contents (wrapper, bin_data, strlen (bin_data), NULL, FALSE,
+                                     G_FILE_CREATE_REPLACE_DESTINATION, NULL, cancellable, error))
+         return FALSE;
+diff --git a/tests/test-bundle.sh b/tests/test-bundle.sh
+index 6937b041..01f8add7 100755
+--- a/tests/test-bundle.sh
++++ b/tests/test-bundle.sh
+@@ -59,7 +59,7 @@ assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/files
+ assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/export
+ assert_has_file $FL_DIR/exports/share/applications/org.test.Hello.desktop
+ # Ensure Exec key is rewritten
+-assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=.*/flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
++assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
+ assert_has_file $FL_DIR/exports/share/icons/hicolor/64x64/apps/org.test.Hello.png
+ assert_has_file $FL_DIR/exports/share/icons/HighContrast/64x64/apps/org.test.Hello.png
+ 
+diff --git a/tests/test-run.sh b/tests/test-run.sh
+index 9d83d82e..234e4ec6 100755
+--- a/tests/test-run.sh
++++ b/tests/test-run.sh
+@@ -42,7 +42,7 @@ assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/files
+ assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/export
+ assert_has_file $FL_DIR/exports/share/applications/org.test.Hello.desktop
+ # Ensure Exec key is rewritten
+-assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=.*/flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
++assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
+ assert_has_file $FL_DIR/exports/share/icons/hicolor/64x64/apps/org.test.Hello.png
+ assert_not_has_file $FL_DIR/exports/share/icons/hicolor/64x64/apps/dont-export.png
+ assert_has_file $FL_DIR/exports/share/icons/HighContrast/64x64/apps/org.test.Hello.png
diff --git a/pkgs/development/libraries/flint/default.nix b/pkgs/development/libraries/flint/default.nix
index 94cc7688cc8b2..d92a0c61aab84 100644
--- a/pkgs/development/libraries/flint/default.nix
+++ b/pkgs/development/libraries/flint/default.nix
@@ -1,20 +1,61 @@
-{stdenv, fetchurl, gmp, mpir, mpfr, openblas, ntl}:
+{ stdenv
+, fetchurl
+, fetchpatch
+, gmp
+, mpir
+, mpfr
+, ntl
+, openblas ? null
+, withBlas ? true
+}:
+
+assert withBlas -> openblas != null;
+
 stdenv.mkDerivation rec {
   name = "flint-${version}";
-  version = "2.5.2";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
+  version = "2.5.2"; # remove libflint.so.MAJOR patch when updating
   src = fetchurl {
     url = "http://www.flintlib.org/flint-${version}.tar.gz";
     sha256 = "11syazv1a8rrnac3wj3hnyhhflpqcmq02q8pqk2m6g2k6h0gxwfb";
   };
-  buildInputs = [gmp mpir mpfr openblas ntl];
-  configureFlags = "--with-gmp=${gmp} --with-mpir=${mpir} --with-mpfr=${mpfr} --with-blas=${openblas} --with-ntl=${ntl}";
+  buildInputs = [
+    gmp
+    mpir
+    mpfr
+    ntl
+  ] ++ stdenv.lib.optionals withBlas [
+    openblas
+  ];
+  propagatedBuildInputs = [
+    mpfr # flint.h includes mpfr.h
+  ];
+  configureFlags = [
+    "--with-gmp=${gmp}"
+    "--with-mpir=${mpir}"
+    "--with-mpfr=${mpfr}"
+    "--with-ntl=${ntl}"
+  ] ++ stdenv.lib.optionals withBlas [
+    "--with-blas=${openblas}"
+  ];
+
+  # issues with ntl -- https://github.com/wbhart/flint2/issues/487
+  NIX_CXXSTDLIB_COMPILE = [ "-std=c++11" ];
+
+  patches = [
+    (fetchpatch {
+      # Always produce libflint.so.MAJOR; will be included in the next flint version
+      # See https://github.com/wbhart/flint2/pull/347
+      url = "https://github.com/wbhart/flint2/commit/49fbcd8f736f847d3f9667f9f7d5567ef4550ecb.patch";
+      sha256 = "09w09bpq85kjf752bd3y3i5lvy59b8xjiy7qmrcxzibx2a21pj73";
+    })
+  ];
+  doCheck = true;
   meta = {
     inherit version;
     description = ''Fast Library for Number Theory'';
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     homepage = http://www.flintlib.org/;
     downloadPage = "http://www.flintlib.org/downloads.html";
     updateWalker = true;
diff --git a/pkgs/development/libraries/fltk/default.nix b/pkgs/development/libraries/fltk/default.nix
index ddc962d0aab64..405d80031e37a 100644
--- a/pkgs/development/libraries/fltk/default.nix
+++ b/pkgs/development/libraries/fltk/default.nix
@@ -1,13 +1,11 @@
-{ stdenv, composableDerivation, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi
-, freeglut, libGLU_combined, libjpeg, zlib, libXinerama, libXft, libpng
-, cfg ? {}
+{ stdenv, fetchurl, pkgconfig, xlibsWrapper, inputproto, libXi
+, freeglut, libGLU_combined, libjpeg, zlib, libXft, libpng
 , darwin, libtiff, freetype
 }:
 
-let inherit (composableDerivation) edf; in
-
-let version = "1.3.4"; in
-composableDerivation.composableDerivation {} {
+let
+  version = "1.3.4";
+in stdenv.mkDerivation {
   name = "fltk-${version}";
 
   src = fetchurl {
@@ -18,6 +16,23 @@ composableDerivation.composableDerivation {} {
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./nsosv.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [
+    libGLU_combined
+    libjpeg
+    zlib
+    libpng
+    libXft
+  ];
+
+  configureFlags = [
+    "--enable-gl"
+    "--enable-largefile"
+    "--enable-shared"
+    "--enable-threads"
+    "--enable-xft"
+  ];
+
   propagatedBuildInputs = [ inputproto ]
     ++ (if stdenv.isDarwin
         then (with darwin.apple_sdk.frameworks; [Cocoa AGL GLUT freetype libtiff])
@@ -25,33 +40,6 @@ composableDerivation.composableDerivation {} {
 
   enableParallelBuilding = true;
 
-  flags =
-    # this could be tidied up (?).. eg why does it require freeglut without glSupport?
-    edf { name = "cygwin"; }  #         use the CygWin libraries default=no
-    // edf { name = "debug"; }  #          turn on debugging default=no
-    // edf { name = "gl"; enable = { buildInputs = [ libGLU_combined ]; }; }  #             turn on OpenGL support default=yes
-    // edf { name = "shared"; }  #         turn on shared libraries default=no
-    // edf { name = "threads"; }  #        enable multi-threading support
-    // edf { name = "quartz"; enable = { buildInputs = "quartz"; }; }  # don't konw yet what quartz is #         use Quartz instead of Quickdraw (default=no)
-    // edf { name = "largefile"; } #     omit support for large files
-    // edf { name = "localjpeg"; disable = { buildInputs = [libjpeg]; }; } #       use local JPEG library, default=auto
-    // edf { name = "localzlib"; disable = { buildInputs = [zlib]; }; } #       use local ZLIB library, default=auto
-    // edf { name = "localpng"; disable = { buildInputs = [libpng]; }; } #       use local PNG library, default=auto
-    // edf { name = "xinerama"; enable = { buildInputs = [libXinerama]; }; } #       turn on Xinerama support default=no
-    // edf { name = "xft"; enable = { buildInputs=[libXft]; }; } #            turn on Xft support default=no
-    // edf { name = "xdbe"; };  #           turn on Xdbe support default=no
-
-  cfg = {
-    largefileSupport = true; # is default
-    glSupport = true; # doesn't build without it. Why?
-    localjpegSupport = false;
-    localzlibSupport = false;
-    localpngSupport = false;
-    sharedSupport = true;
-    threadsSupport = true;
-    xftSupport = true;
-  } // cfg;
-
   meta = {
     description = "A C++ cross-platform lightweight GUI library";
     homepage = http://www.fltk.org;
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index c4dc573004469..d188cb9810a72 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig, boost, libevent
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, boost, libevent
 , double-conversion, glog, google-gflags, python, libiberty, openssl }:
 
 stdenv.mkDerivation rec {
   name = "folly-${version}";
-  version = "2018.03.26.00";
+  version = "2018.08.13.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "137d9b9k2m02r8f2w31qj3gc18hpm5g51bcl60g6vzdqzwzizzyr";
+    sha256 = "1lhq3l7rirhi4vwgiym0r3rff1i69c7bdpi1hm8r4axs2dfjvxdr";
   };
 
   nativeBuildInputs = [ autoreconfHook python pkgconfig ];
diff --git a/pkgs/development/libraries/fontconfig-ultimate/default.nix b/pkgs/development/libraries/fontconfig-ultimate/default.nix
index a2e5f69202c4f..9aeb12344eced 100644
--- a/pkgs/development/libraries/fontconfig-ultimate/default.nix
+++ b/pkgs/development/libraries/fontconfig-ultimate/default.nix
@@ -38,4 +38,11 @@ stdenv.mkDerivation {
     cp fontconfig_patches/free/*.conf $out/etc/fonts/presets/free
     cp fontconfig_patches/ms/*.conf $out/etc/fonts/presets/ms
   '';
+
+  meta = with stdenv.lib; {
+    description = "Font configuration files, patches, scripts and source packages (Infinality & friends)";
+    homepage = https://github.com/bohoomil/fontconfig-ultimate;
+    license = licenses.mit;
+    platforms = platforms.all;
+  };
 }
diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix
index 3f3c04b15a307..eae93d96f453f 100644
--- a/pkgs/development/libraries/fontconfig/2.10.nix
+++ b/pkgs/development/libraries/fontconfig/2.10.nix
@@ -17,21 +17,15 @@ stdenv.mkDerivation rec {
   buildInputs = [ expat ];
 
   configureFlags = [
+    "--with-arch=${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=${hostPlatform.parsed.cpu.name}"
   ];
 
-  # We should find a better way to access the arch reliably.
-  crossArch = hostPlatform.arch or null;
-
-  preConfigure = ''
-    if test -n "$crossConfig"; then
-      configureFlags="$configureFlags --with-arch=$crossArch";
-    fi
-  '';
-
   enableParallelBuilding = true;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 1109582ad64f0..01c4140f3b5ca 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, substituteAll, fetchurl, fetchpatch
-, pkgconfig, freetype, expat, libxslt, dejavu_fonts
+{ stdenv, substituteAll, fetchurl
+, pkgconfig, freetype, expat, libxslt, gperf, dejavu_fonts
 , hostPlatform
 }:
 
@@ -18,11 +18,12 @@ let
   configVersion = "2.11"; # bump whenever fontconfig breaks compatibility with older configurations
 in
 stdenv.mkDerivation rec {
-  name = "fontconfig-2.12.1";
+  name = "fontconfig-${version}";
+  version = "2.12.6";
 
   src = fetchurl {
     url = "http://fontconfig.org/release/${name}.tar.bz2";
-    sha256 = "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl";
+    sha256 = "05zh65zni11kgnhg726gjbrd55swspdvhqbcnj5a5xh8gn03036g";
   };
 
   patches = [
@@ -30,41 +31,24 @@ stdenv.mkDerivation rec {
       src = ./config-compat.patch;
       inherit configVersion;
     })
-    (fetchpatch {
-      name = "glibc-2.25.diff";
-      url = "https://cgit.freedesktop.org/fontconfig/patch/?id=1ab5258f7c";
-      sha256 = "0x2a4qx51j3gqcp1kp4lisdzmhrkw1zw0r851d82ksgjlc0vkbaz";
-    })
   ];
-  # additionally required for the glibc-2.25 patch; avoid requiring gperf
-  postPatch = ''
-    sed s/CHAR_WIDTH/CHARWIDTH/g -i src/fcobjshash.{h,gperf}
-    sleep 2
-    touch src/fcobjshash.h
-  '';
 
   outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   propagatedBuildInputs = [ freetype ];
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gperf ];
   buildInputs = [ expat ];
 
   configureFlags = [
+    "--with-arch=${hostPlatform.parsed.cpu.name}"
     "--with-cache-dir=/var/cache/fontconfig" # otherwise the fallback is in $out/
     "--disable-docs"
     # just <1MB; this is what you get when loading config fails for some reason
     "--with-default-fonts=${dejavu_fonts.minimal}"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "--with-arch=${hostPlatform.parsed.cpu.name}"
   ];
 
-  # We should find a better way to access the arch reliably.
-  crossArch = hostPlatform.arch or null;
-
-  preConfigure = ''
-    if test -n "$crossConfig"; then
-      configureFlags="$configureFlags --with-arch=$crossArch";
-    fi
-  '';
-
   enableParallelBuilding = true;
 
   doCheck = true;
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
index 8b534edd2498a..76e89b97617e2 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
+++ b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
@@ -1,4 +1,4 @@
-{ runCommand, lib, writeText, fontconfig, fontDirectories }:
+{ runCommand, lib, fontconfig, fontDirectories }:
 
 runCommand "fc-cache"
   rec {
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index a0ba954801294..4f1e0eaee7fb7 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -3,7 +3,7 @@
 , CoreServices }:
 
 let
-  version = "1.6.56";
+  version = "1.6.57";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "ftp://ftp.fox-toolkit.org/pub/${name}.tar.gz";
-    sha256 = "1ckcb12gblz1ad1371ah1qirxn3r9zdngh9w0357hsqfmkyfa5y5";
+    sha256 = "08w98m6wjadraw1pi13igzagly4b2nfa57kdqdnkjfhgkvg1bvv5";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/fplll/default.nix b/pkgs/development/libraries/fplll/default.nix
index b377061fe97e9..063217a45047c 100644
--- a/pkgs/development/libraries/fplll/default.nix
+++ b/pkgs/development/libraries/fplll/default.nix
@@ -4,12 +4,12 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "fplll";
-  version = "5.0.2";
+  version = "5.2.1";
   src = fetchFromGitHub {
     owner = "${pname}";
     repo = "${pname}";
     rev = "${version}";
-    sha256 = "0rl98rx284giyhj3pf6iydn1a06jis8c8mnsc7kqs4rcmiw4bjpx";
+    sha256 = "015qmrd7nfaysbv1hbwiprz9g6hnww1y1z1xw8f43ysb7k1b5nbg";
   };
   nativeBuildInputs = [autoconf automake libtool gettext autoreconfHook];
   buildInputs = [gmp mpfr];
diff --git a/pkgs/development/libraries/frame/default.nix b/pkgs/development/libraries/frame/default.nix
index 2f5374851d820..e15626a160e27 100644
--- a/pkgs/development/libraries/frame/default.nix
+++ b/pkgs/development/libraries/frame/default.nix
@@ -1,5 +1,5 @@
 { enableX11 ? true
-,  stdenv, fetchurl, pkgconfig, xorg, xorgserver, xinput }:
+,  stdenv, fetchurl, pkgconfig, xorg }:
 
 stdenv.mkDerivation rec {
   name = "frame-${version}";
diff --git a/pkgs/development/libraries/freeimage/default.nix b/pkgs/development/libraries/freeimage/default.nix
index 157f9f3936ec2..b2c66ad346d01 100644
--- a/pkgs/development/libraries/freeimage/default.nix
+++ b/pkgs/development/libraries/freeimage/default.nix
@@ -19,6 +19,10 @@ stdenv.mkDerivation {
       url = patchURL + "/Fix-CVE-2016-5684.patch";
       sha256 = "14ffgqbnwg28r6sjvm3z89zbnnm9ghbc81hdhrzxlyk3vwvd6cw3";
     })
+    (fetchurl {
+      url = https://raw.githubusercontent.com/buildroot/buildroot/2018.05/package/libfreeimage/0005-Manage-powf64-with-glibc.patch;
+      sha256 = "1lis479ad5cfkhqm044nk4x97wfwm3hry3bvij1w5xkndnlfppc2";
+    })
   ];
 
   buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isDarwin darwin.cctools;
@@ -57,6 +61,8 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_COMPILE = "-Wno-narrowing";
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Open Source library for accessing popular graphics image file formats";
     homepage = http://freeimage.sourceforge.net/;
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index d764121e8d6be..4f07316bd3f19 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -4,19 +4,17 @@
 
 assert odbcSupport -> unixODBC != null;
 
+# Work is in progress to move to cmake so revisit that later
+
 stdenv.mkDerivation rec {
   name = "freetds-${version}";
-  version = "1.00.70";
+  version = "1.00.94";
 
   src = fetchurl {
     url    = "http://www.freetds.org/files/stable/${name}.tar.bz2";
-    sha256 = "1ydh0c89nb6wh6wakbkqad7mdwpymygvgbcrk8c2mp7abgv1jqzp";
+    sha256 = "1r03ns0jp2sbbivys5bks376vbdqbnx8v764kjh74gpbajjmkksz";
   };
 
-  configureFlags = [
-    "--with-tdsver=7.3"
-  ];
-
   buildInputs = [
     openssl
   ] ++ stdenv.lib.optional odbcSupport unixODBC;
diff --git a/pkgs/development/libraries/freetype/cve-2017-8105.patch b/pkgs/development/libraries/freetype/cve-2017-8105.patch
deleted file mode 100644
index dc4327a52a886..0000000000000
--- a/pkgs/development/libraries/freetype/cve-2017-8105.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f958c48ee43
-
-diff --git a/src/psaux/t1decode.c b/src/psaux/t1decode.c
-index af7b465..7dd4513 100644
---- a/src/psaux/t1decode.c
-+++ b/src/psaux/t1decode.c
-@@ -780,10 +780,19 @@
-             /* point without adding any point to the outline    */
-             idx = decoder->num_flex_vectors++;
-             if ( idx > 0 && idx < 7 )
-+            {
-+              /* in malformed fonts it is possible to have other */
-+              /* opcodes in the middle of a flex (which don't    */
-+              /* increase `num_flex_vectors'); we thus have to   */
-+              /* check whether we can add a point                */
-+              if ( FT_SET_ERROR( t1_builder_check_points( builder, 1 ) ) )
-+                goto Syntax_Error;
-+
-               t1_builder_add_point( builder,
-                                     x,
-                                     y,
-                                     (FT_Byte)( idx == 3 || idx == 6 ) );
-+            }
-           }
-           break;
- 
-
diff --git a/pkgs/development/libraries/freetype/cve-2017-8287.patch b/pkgs/development/libraries/freetype/cve-2017-8287.patch
deleted file mode 100644
index 7ccf4f3278b7a..0000000000000
--- a/pkgs/development/libraries/freetype/cve-2017-8287.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=3774fc08b
-
-diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
-index d18e821..0baf836 100644
---- a/src/psaux/psobjs.c
-+++ b/src/psaux/psobjs.c
-@@ -1718,6 +1718,14 @@
-     first = outline->n_contours <= 1
-             ? 0 : outline->contours[outline->n_contours - 2] + 1;
- 
-+    /* in malformed fonts it can happen that a contour was started */
-+    /* but no points were added                                    */
-+    if ( outline->n_contours && first == outline->n_points )
-+    {
-+      outline->n_contours--;
-+      return;
-+    }
-+
-     /* We must not include the last point in the path if it */
-     /* is located on the first point.                       */
-     if ( outline->n_points > 1 )
-
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 8f16f85cabf76..fce052aeb223a 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -1,6 +1,5 @@
-{ stdenv, lib, fetchurl, copyPathsToStore
-, hostPlatform
-, pkgconfig, which
+{ stdenv, fetchurl
+, pkgconfig, which, makeWrapper
 , zlib, bzip2, libpng, gnumake, glib
 
 , # FreeType supports LCD filtering (colloquially referred to as sub-pixel rendering).
@@ -10,11 +9,11 @@
 }:
 
 let
-  inherit (stdenv.lib) optional optionals optionalString;
-  version = "2.7.1"; name = "freetype-" + version;
+  inherit (stdenv.lib) optional optionalString;
 
-in stdenv.mkDerivation {
-  inherit name;
+in stdenv.mkDerivation rec {
+  name = "freetype-${version}";
+  version = "2.9";
 
   meta = with stdenv.lib; {
     description = "A font rendering engine";
@@ -33,24 +32,17 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://savannah/freetype/${name}.tar.bz2";
-    sha256 = "121gm15ayfg3rglby8ifh8384mcjb9dhmx9j40zl7yszw72b4frs";
+    sha256 = "12jcdz1in20yaa55izxalg3hm1pf7nydfrzps5bzb4zgihybmzz6";
   };
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
   # dependence on harfbuzz is looser than the reverse dependence
-  nativeBuildInputs = [ pkgconfig which ]
+  nativeBuildInputs = [ pkgconfig which makeWrapper ]
     # FreeType requires GNU Make, which is not part of stdenv on FreeBSD.
     ++ optional (!stdenv.isLinux) gnumake;
 
   patches =
-    [
-      ./pcf-introduce-driver.patch
-      ./pcf-config-long-family-names.patch
-      ./disable-pcf-long-family-names.patch
-      ./enable-table-validation.patch
-      # remove the two CVE patches after updating to >= 2.8
-      ./cve-2017-8105.patch
-      ./cve-2017-8287.patch
+    [ ./enable-table-validation.patch
     ] ++
     optional useEncumberedCode ./enable-subpixel-rendering.patch;
 
@@ -59,18 +51,14 @@ in stdenv.mkDerivation {
   configureFlags = [ "--disable-static" "--bindir=$(dev)/bin" ];
 
   # The asm for armel is written with the 'asm' keyword.
-  CFLAGS = optionalString stdenv.isArm "-std=gnu99";
+  CFLAGS = optionalString stdenv.isAarch32 "-std=gnu99";
 
   enableParallelBuilding = true;
 
   doCheck = true;
 
-  postInstall = glib.flattenInclude;
-
-  crossAttrs = stdenv.lib.optionalAttrs (hostPlatform.libc or null != "msvcrt") {
-    # Somehow it calls the unwrapped gcc, "i686-pc-linux-gnu-gcc", instead
-    # of gcc. I think it's due to the unwrapped gcc being in the PATH. I don't
-    # know why it's on the PATH.
-    configureFlags = "--disable-static CC_BUILD=gcc";
-  };
+  postInstall = glib.flattenInclude + ''
+    wrapProgram "$dev/bin/freetype-config" \
+      --set PKG_CONFIG_PATH "$PKG_CONFIG_PATH:$dev/lib/pkgconfig"
+  '';
 }
diff --git a/pkgs/development/libraries/freetype/pcf-config-long-family-names.patch b/pkgs/development/libraries/freetype/pcf-config-long-family-names.patch
deleted file mode 100644
index 95ed83c60f8fc..0000000000000
--- a/pkgs/development/libraries/freetype/pcf-config-long-family-names.patch
+++ /dev/null
@@ -1,553 +0,0 @@
-diff --git a/devel/ftoption.h b/devel/ftoption.h
-index 3b63931..b8b0a8d 100644
---- a/devel/ftoption.h
-+++ b/devel/ftoption.h
-@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
-   /* to control the various font drivers and modules.  The controllable    */
-   /* properties are listed in the section `Controlling FreeType Modules'   */
-   /* in the reference's table of contents; currently there are properties  */
--  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */
--  /* TrueType (file `ftttdrv.h').                                          */
-+  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'),      */
-+  /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h').             */
-   /*                                                                       */
-   /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
-   /* multiple lines for better readability).                               */
-@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
-   /*************************************************************************/
-   /*************************************************************************/
-   /****                                                                 ****/
-+  /****         P C F   D R I V E R    C O N F I G U R A T I O N        ****/
-+  /****                                                                 ****/
-+  /*************************************************************************/
-+  /*************************************************************************/
-+
-+
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* There are many PCF fonts just called `Fixed' which look completely    */
-+  /* different, and which have nothing to do with each other.  When        */
-+  /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
-+  /* random, the style changes often if one changes the size and one       */
-+  /* cannot select some fonts at all.  This option makes the PCF module    */
-+  /* prepend the foundry name (plus a space) to the family name.           */
-+  /*                                                                       */
-+  /* We also check whether we have `wide' characters; all put together, we */
-+  /* get family names like `Sony Fixed' or `Misc Fixed Wide'.              */
-+  /*                                                                       */
-+  /* If this option is activated, it can be controlled with the            */
-+  /* `no-long-family-names' property of the pcf driver module.             */
-+  /*                                                                       */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+
-+  /*************************************************************************/
-+  /*************************************************************************/
-+  /****                                                                 ****/
-   /****    A U T O F I T   M O D U L E    C O N F I G U R A T I O N     ****/
-   /****                                                                 ****/
-   /*************************************************************************/
-diff --git a/docs/CHANGES b/docs/CHANGES
-index cb3b327..3823395 100644
---- a/docs/CHANGES
-+++ b/docs/CHANGES
-@@ -1,4 +1,20 @@
- 
-+CHANGES BETWEEN 2.7.1 and 2.7.2
-+
-+  I. IMPORTANT CHANGES
-+
-+    - The PCF change to show more `colourful' family names (introduced
-+      in version 2.7.1) was too radical; it can now be configured with
-+      PCF_CONFIG_OPTION_LONG_FAMILY_NAMES   at   compile   time.    If
-+      activated, it can  be switched off at run time  with the new pcf
-+      property  `no-long-family-names'.  If  the `FREETYPE_PROPERTIES'
-+      environment variable is available, you can say
-+
-+        FREETYPE_PROPERTIES=pcf:no-long-family-names=1
-+
-+
-+======================================================================
-+
- CHANGES BETWEEN 2.7 and 2.7.1
- 
-   I. IMPORTANT CHANGES
-diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h
-index 950d36c..d491af5 100644
---- a/include/freetype/config/ftheader.h
-+++ b/include/freetype/config/ftheader.h
-@@ -357,6 +357,19 @@
-   /*************************************************************************
-    *
-    * @macro:
-+   *   FT_PCF_DRIVER_H
-+   *
-+   * @description:
-+   *   A macro used in #include statements to name the file containing
-+   *   structures and macros related to the PCF driver module.
-+   *
-+   */
-+#define FT_PCF_DRIVER_H  <freetype/ftpcfdrv.h>
-+
-+
-+  /*************************************************************************
-+   *
-+   * @macro:
-    *   FT_TYPE1_TABLES_H
-    *
-    * @description:
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index f5bc540..5676074 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
-   /* to control the various font drivers and modules.  The controllable    */
-   /* properties are listed in the section `Controlling FreeType Modules'   */
-   /* in the reference's table of contents; currently there are properties  */
--  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and  */
--  /* TrueType (file `ftttdrv.h').                                          */
-+  /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'),      */
-+  /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h').             */
-   /*                                                                       */
-   /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
-   /* multiple lines for better readability).                               */
-@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
-   /*************************************************************************/
-   /*************************************************************************/
-   /****                                                                 ****/
-+  /****         P C F   D R I V E R    C O N F I G U R A T I O N        ****/
-+  /****                                                                 ****/
-+  /*************************************************************************/
-+  /*************************************************************************/
-+
-+
-+  /*************************************************************************/
-+  /*                                                                       */
-+  /* There are many PCF fonts just called `Fixed' which look completely    */
-+  /* different, and which have nothing to do with each other.  When        */
-+  /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
-+  /* random, the style changes often if one changes the size and one       */
-+  /* cannot select some fonts at all.  This option makes the PCF module    */
-+  /* prepend the foundry name (plus a space) to the family name.           */
-+  /*                                                                       */
-+  /* We also check whether we have `wide' characters; all put together, we */
-+  /* get family names like `Sony Fixed' or `Misc Fixed Wide'.              */
-+  /*                                                                       */
-+  /* If this option is activated, it can be controlled with the            */
-+  /* `no-long-family-names' property of the pcf driver module.             */
-+  /*                                                                       */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+
-+  /*************************************************************************/
-+  /*************************************************************************/
-+  /****                                                                 ****/
-   /****    A U T O F I T   M O D U L E    C O N F I G U R A T I O N     ****/
-   /****                                                                 ****/
-   /*************************************************************************/
-diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h
-index ab43895..a0a121b 100644
---- a/include/freetype/ftchapters.h
-+++ b/include/freetype/ftchapters.h
-@@ -77,6 +77,7 @@
- /*    auto_hinter                                                          */
- /*    cff_driver                                                           */
- /*    tt_driver                                                            */
-+/*    pcf_driver                                                           */
- /*                                                                         */
- /***************************************************************************/
- 
-diff --git a/include/freetype/ftpcfdrv.h b/include/freetype/ftpcfdrv.h
-new file mode 100644
-index 0000000..6622c93
---- /dev/null
-+++ b/include/freetype/ftpcfdrv.h
-@@ -0,0 +1,105 @@
-+/***************************************************************************/
-+/*                                                                         */
-+/*  ftpcfdrv.h                                                             */
-+/*                                                                         */
-+/*    FreeType API for controlling the PCF driver (specification only).    */
-+/*                                                                         */
-+/*  Copyright 2017 by                                                      */
-+/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
-+/*                                                                         */
-+/*  This file is part of the FreeType project, and may only be used,       */
-+/*  modified, and distributed under the terms of the FreeType project      */
-+/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
-+/*  this file you indicate that you have read the license and              */
-+/*  understand and accept it fully.                                        */
-+/*                                                                         */
-+/***************************************************************************/
-+
-+
-+#ifndef FTPCFDRV_H_
-+#define FTPCFDRV_H_
-+
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+
-+#ifdef FREETYPE_H
-+#error "freetype.h of FreeType 1 has been loaded!"
-+#error "Please fix the directory search order for header files"
-+#error "so that freetype.h of FreeType 2 is found first."
-+#endif
-+
-+
-+FT_BEGIN_HEADER
-+
-+
-+  /**************************************************************************
-+   *
-+   * @section:
-+   *   pcf_driver
-+   *
-+   * @title:
-+   *   The PCF driver
-+   *
-+   * @abstract:
-+   *   Controlling the PCF driver module.
-+   *
-+   * @description:
-+   *   While FreeType's PCF driver doesn't expose API functions by itself,
-+   *   it is possible to control its behaviour with @FT_Property_Set and
-+   *   @FT_Property_Get.  Right now, there is a single property
-+   *   `no-long-family-names' available if FreeType is compiled with
-+   *   PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
-+   *
-+   *   The PCF driver's module name is `pcf'.
-+   *
-+   */
-+
-+
-+  /**************************************************************************
-+   *
-+   * @property:
-+   *   no-long-family-names
-+   *
-+   * @description:
-+   *   If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES is active while compiling
-+   *   FreeType, the PCF driver constructs long family names.
-+   *
-+   *   There are many PCF fonts just called `Fixed' which look completely
-+   *   different, and which have nothing to do with each other.  When
-+   *   selecting `Fixed' in KDE or Gnome one gets results that appear rather
-+   *   random, the style changes often if one changes the size and one
-+   *   cannot select some fonts at all.  The improve this situation, the PCF
-+   *   module prepends the foundry name (plus a space) to the family name. 
-+   *   It also checks whether there are `wide' characters; all put together,
-+   *   family names like `Sony Fixed' or `Misc Fixed Wide' are constructed.
-+   *
-+   *   If `no-long-family-names' is set, this feature gets switched off.
-+   *
-+   *   {
-+   *     FT_Library  library;
-+   *     FT_Bool     no_long_family_names = TRUE;
-+   *
-+   *
-+   *     FT_Init_FreeType( &library );
-+   *
-+   *     FT_Property_Set( library, "pcf",
-+   *                               "no-long-family-names",
-+   *                               &no_long_family_names );
-+   *   }
-+   *
-+   * @note:
-+   *   This property can be used with @FT_Property_Get also.
-+   *
-+   *   This property can be set via the `FREETYPE_PROPERTIES' environment
-+   *   variable (using values 1 and 0 for `on' and `off', respectively).
-+   *
-+   */
-+
-+
-+FT_END_HEADER
-+
-+
-+#endif /* FTPCFDRV_H_ */
-+
-+
-+/* END */
-diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
-index 830cabe..f0390cb 100644
---- a/src/pcf/pcf.h
-+++ b/src/pcf/pcf.h
-@@ -167,6 +167,8 @@ FT_BEGIN_HEADER
-   {
-     FT_DriverRec  root;
- 
-+    FT_Bool  no_long_family_names;
-+
-   } PCF_DriverRec, *PCF_Driver;
- 
- 
-diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
-index 8f4a90d..bc65423 100644
---- a/src/pcf/pcfdrivr.c
-+++ b/src/pcf/pcfdrivr.c
-@@ -49,6 +49,8 @@ THE SOFTWARE.
- 
- #include FT_SERVICE_BDF_H
- #include FT_SERVICE_FONT_FORMAT_H
-+#include FT_SERVICE_PROPERTIES_H
-+#include FT_PCF_DRIVER_H
- 
- 
-   /*************************************************************************/
-@@ -667,6 +669,110 @@ THE SOFTWARE.
-   };
- 
- 
-+  /*
-+   *  PROPERTY SERVICE
-+   *
-+   */
-+  static FT_Error
-+  pcf_property_set( FT_Module    module,         /* PCF_Driver */
-+                    const char*  property_name,
-+                    const void*  value,
-+                    FT_Bool      value_is_string )
-+  {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+    FT_Error    error  = FT_Err_Ok;
-+    PCF_Driver  driver = (PCF_Driver)module;
-+
-+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-+    FT_UNUSED( value_is_string );
-+#endif
-+
-+
-+    if ( !ft_strcmp( property_name, "no-long-family-names" ) )
-+    {
-+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-+      if ( value_is_string )
-+      {
-+        const char*  s   = (const char*)value;
-+        long         lfn = ft_strtol( s, NULL, 10 );
-+
-+
-+        if ( lfn == 0 )
-+          driver->no_long_family_names = 0;
-+        else if ( lfn == 1 )
-+          driver->no_long_family_names = 1;
-+        else
-+          return FT_THROW( Invalid_Argument );
-+      }
-+      else
-+#endif
-+      {
-+        FT_Bool*  no_long_family_names = (FT_Bool*)value;
-+
-+
-+        driver->no_long_family_names = *no_long_family_names;
-+      }
-+
-+      return error;
-+    }
-+
-+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_UNUSED( module );
-+    FT_UNUSED( value );
-+    FT_UNUSED( value_is_string );
-+
-+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_TRACE0(( "pcf_property_set: missing property `%s'\n",
-+                property_name ));
-+    return FT_THROW( Missing_Property );
-+  }
-+
-+
-+  static FT_Error
-+  pcf_property_get( FT_Module    module,         /* PCF_Driver */
-+                    const char*  property_name,
-+                    const void*  value )
-+  {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+    FT_Error    error  = FT_Err_Ok;
-+    PCF_Driver  driver = (PCF_Driver)module;
-+
-+
-+    if ( !ft_strcmp( property_name, "no-long-family-names" ) )
-+    {
-+      FT_Bool   no_long_family_names = driver->no_long_family_names;
-+      FT_Bool*  val                  = (FT_Bool*)value;
-+
-+
-+      *val = no_long_family_names;
-+
-+      return error;
-+    }
-+
-+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_UNUSED( module );
-+    FT_UNUSED( value );
-+
-+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+    FT_TRACE0(( "pcf_property_get: missing property `%s'\n",
-+                property_name ));
-+    return FT_THROW( Missing_Property );
-+  }
-+
-+
-+  FT_DEFINE_SERVICE_PROPERTIESREC(
-+    pcf_service_properties,
-+
-+    (FT_Properties_SetFunc)pcf_property_set,      /* set_property */
-+    (FT_Properties_GetFunc)pcf_property_get )     /* get_property */
-+
-+
-  /*
-   *
-   *  SERVICE LIST
-@@ -677,6 +783,7 @@ THE SOFTWARE.
-   {
-     { FT_SERVICE_ID_BDF,         &pcf_service_bdf },
-     { FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_PCF },
-+    { FT_SERVICE_ID_PROPERTIES,  &pcf_service_properties },
-     { NULL, NULL }
-   };
- 
-@@ -694,7 +801,14 @@ THE SOFTWARE.
-   FT_CALLBACK_DEF( FT_Error )
-   pcf_driver_init( FT_Module  module )      /* PCF_Driver */
-   {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+    PCF_Driver  driver = (PCF_Driver)module;
-+
-+
-+    driver->no_long_family_names = 0;
-+#else
-     FT_UNUSED( module );
-+#endif
- 
-     return FT_Err_Ok;
-   }
-diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
-index 38ba110..3eacf2b 100644
---- a/src/pcf/pcfread.c
-+++ b/src/pcf/pcfread.c
-@@ -1393,57 +1393,75 @@ THE SOFTWARE.
-       prop = pcf_find_property( face, "FAMILY_NAME" );
-       if ( prop && prop->isString )
-       {
--        /* Prepend the foundry name plus a space to the family name.      */
--        /* There are many fonts just called `Fixed' which look completely */
--        /* different, and which have nothing to do with each other.  When */
--        /* selecting `Fixed' in KDE or Gnome one gets results that appear */
--        /* rather random, the style changes often if one changes the size */
--        /* and one cannot select some fonts at all.                       */
--        /*                                                                */
--        /* We also check whether we have `wide' characters; all put       */
--        /* together, we get family names like `Sony Fixed' or `Misc Fixed */
--        /* Wide'.                                                         */
--        PCF_Property  foundry_prop, point_size_prop, average_width_prop;
--
--        int  l    = ft_strlen( prop->value.atom ) + 1;
--        int  wide = 0;
--
--
--        foundry_prop       = pcf_find_property( face, "FOUNDRY" );
--        point_size_prop    = pcf_find_property( face, "POINT_SIZE" );
--        average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
--
--        if ( point_size_prop && average_width_prop )
-+
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+        PCF_Driver  driver = (PCF_Driver)FT_FACE_DRIVER( face );
-+
-+
-+        if ( !driver->no_long_family_names )
-         {
--          if ( average_width_prop->value.l >= point_size_prop->value.l )
-+          /* Prepend the foundry name plus a space to the family name.     */
-+          /* There are many fonts just called `Fixed' which look           */
-+          /* completely different, and which have nothing to do with each  */
-+          /* other.  When selecting `Fixed' in KDE or Gnome one gets       */
-+          /* results that appear rather random, the style changes often if */
-+          /* one changes the size and one cannot select some fonts at all. */
-+          /*                                                               */
-+          /* We also check whether we have `wide' characters; all put      */
-+          /* together, we get family names like `Sony Fixed' or `Misc      */
-+          /* Fixed Wide'.                                                  */
-+
-+          PCF_Property  foundry_prop, point_size_prop, average_width_prop;
-+
-+          int  l    = ft_strlen( prop->value.atom ) + 1;
-+          int  wide = 0;
-+
-+
-+          foundry_prop       = pcf_find_property( face, "FOUNDRY" );
-+          point_size_prop    = pcf_find_property( face, "POINT_SIZE" );
-+          average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
-+
-+          if ( point_size_prop && average_width_prop )
-           {
--            /* This font is at least square shaped or even wider */
--            wide = 1;
--            l   += ft_strlen( " Wide" );
-+            if ( average_width_prop->value.l >= point_size_prop->value.l )
-+            {
-+              /* This font is at least square shaped or even wider */
-+              wide = 1;
-+              l   += ft_strlen( " Wide" );
-+            }
-           }
--        }
- 
--        if ( foundry_prop && foundry_prop->isString )
--        {
--          l += ft_strlen( foundry_prop->value.atom ) + 1;
-+          if ( foundry_prop && foundry_prop->isString )
-+          {
-+            l += ft_strlen( foundry_prop->value.atom ) + 1;
- 
--          if ( FT_NEW_ARRAY( root->family_name, l ) )
--            goto Exit;
-+            if ( FT_NEW_ARRAY( root->family_name, l ) )
-+              goto Exit;
-+
-+            ft_strcpy( root->family_name, foundry_prop->value.atom );
-+            ft_strcat( root->family_name, " " );
-+            ft_strcat( root->family_name, prop->value.atom );
-+          }
-+          else
-+          {
-+            if ( FT_NEW_ARRAY( root->family_name, l ) )
-+              goto Exit;
- 
--          ft_strcpy( root->family_name, foundry_prop->value.atom );
--          ft_strcat( root->family_name, " " );
--          ft_strcat( root->family_name, prop->value.atom );
-+            ft_strcpy( root->family_name, prop->value.atom );
-+          }
-+
-+          if ( wide )
-+            ft_strcat( root->family_name, " Wide" );
-         }
-         else
-+
-+#endif /* PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-         {
--          if ( FT_NEW_ARRAY( root->family_name, l ) )
-+          if ( FT_STRDUP( root->family_name, prop->value.atom ) )
-             goto Exit;
--
--          ft_strcpy( root->family_name, prop->value.atom );
-         }
--
--        if ( wide )
--          ft_strcat( root->family_name, " Wide" );
-       }
-       else
-         root->family_name = NULL;
--- 
-cgit v1.0-41-gc330
-
diff --git a/pkgs/development/libraries/freetype/pcf-introduce-driver.patch b/pkgs/development/libraries/freetype/pcf-introduce-driver.patch
deleted file mode 100644
index c1685c5116cc7..0000000000000
--- a/pkgs/development/libraries/freetype/pcf-introduce-driver.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
-index c726e5e..830cabe 100644
---- a/src/pcf/pcf.h
-+++ b/src/pcf/pcf.h
-@@ -163,6 +163,13 @@ FT_BEGIN_HEADER
-   } PCF_FaceRec, *PCF_Face;
- 
- 
-+  typedef struct  PCF_DriverRec_
-+  {
-+    FT_DriverRec  root;
-+
-+  } PCF_DriverRec, *PCF_Driver;
-+
-+
-   /* macros for pcf font format */
- 
- #define LSBFirst  0
-diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
-index 10d5c20..8f4a90d 100644
---- a/src/pcf/pcfdrivr.c
-+++ b/src/pcf/pcfdrivr.c
-@@ -691,22 +691,38 @@ THE SOFTWARE.
-   }
- 
- 
-+  FT_CALLBACK_DEF( FT_Error )
-+  pcf_driver_init( FT_Module  module )      /* PCF_Driver */
-+  {
-+    FT_UNUSED( module );
-+
-+    return FT_Err_Ok;
-+  }
-+
-+
-+  FT_CALLBACK_DEF( void )
-+  pcf_driver_done( FT_Module  module )      /* PCF_Driver */
-+  {
-+    FT_UNUSED( module );
-+  }
-+
-+
-   FT_CALLBACK_TABLE_DEF
-   const FT_Driver_ClassRec  pcf_driver_class =
-   {
-     {
-       FT_MODULE_FONT_DRIVER        |
-       FT_MODULE_DRIVER_NO_OUTLINES,
--      sizeof ( FT_DriverRec ),
- 
-+      sizeof ( PCF_DriverRec ),
-       "pcf",
-       0x10000L,
-       0x20000L,
- 
--      NULL,    /* module-specific interface */
-+      NULL,   /* module-specific interface */
- 
--      NULL,                     /* FT_Module_Constructor  module_init   */
--      NULL,                     /* FT_Module_Destructor   module_done   */
-+      pcf_driver_init,          /* FT_Module_Constructor  module_init   */
-+      pcf_driver_done,          /* FT_Module_Destructor   module_done   */
-       pcf_driver_requester      /* FT_Module_Requester    get_interface */
-     },
- 
--- 
-cgit v1.0-41-gc330
-
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index a107c9a478f23..08b0a87e3e208 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -1,21 +1,34 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
+{ stdenv
+, fetchurl
+
+, meson
+, ninja
+, pkgconfig
+, fixDarwinDylibNames
+, python3
+}:
 
 stdenv.mkDerivation rec {
-  name = "fribidi-${version}";
-  version = "0.19.7";
-
-  src = fetchFromGitHub {
-    owner = "fribidi";
-    repo = "fribidi";
-    rev = version;
-    sha256 = "10q5jfch5qzrj2w4fbkr086ank66plx8hp7ra9a01irj80pbk96d";
+  name = "${pname}-${version}";
+  pname = "fribidi";
+  version = "1.0.5";
+
+  outputs = [ "out" "devdoc" ];
+
+  # NOTE: 2018-06-06 v1.0.5: Only URL tarball has "Have pre-generated man pages: true", which works-around upstream usage of some rare ancient `c2man` fossil application.
+  src = fetchurl {
+    url = "https://github.com/${pname}/${pname}/releases/download/v${version}/${name}.tar.bz2";
+    sha256 = "1kp4b1hpx2ky20ixgy2xhj5iygfl7ps5k9kglh1z5i7mhykg4r3a";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  postPatch = ''
+    patchShebangs test
+  '';
 
-  # Configure script checks for glib, but it is only used for tests.
+  nativeBuildInputs = [ meson ninja pkgconfig ];
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
-  outputs = [ "out" "devdoc" ];
+  checkInptus = [ python3 ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/fribidi/fribidi;
diff --git a/pkgs/development/libraries/fstrm/default.nix b/pkgs/development/libraries/fstrm/default.nix
index 9c4bf00347c46..372cb50d05cfd 100644
--- a/pkgs/development/libraries/fstrm/default.nix
+++ b/pkgs/development/libraries/fstrm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "fstrm-${version}";
-  version = "0.3.2";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "farsightsec";
     repo = "fstrm";
     rev = "v${version}";
-    sha256 = "135m0d4z1wbiaazs3bh6z53a35mgs33gvfki8pl4xfaw9cfcfpd2";
+    sha256 = "11i8b3wy6j3z3fcv816xccxxlrfkczdr8bm2gnan6yv4ppbji4ny";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/funambol/default.nix b/pkgs/development/libraries/funambol/default.nix
index d0850128ebcc5..100c00eea497b 100644
--- a/pkgs/development/libraries/funambol/default.nix
+++ b/pkgs/development/libraries/funambol/default.nix
@@ -14,10 +14,10 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook unzip ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "SyncML client sdk by Funambol project";
     homepage = http://www.funambol.com;
-    maintainers = [ ];
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.agpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gamin/default.nix b/pkgs/development/libraries/gamin/default.nix
index 2af7bbce18bc8..4cff224574033 100644
--- a/pkgs/development/libraries/gamin/default.nix
+++ b/pkgs/development/libraries/gamin/default.nix
@@ -14,7 +14,11 @@ stdenv.mkDerivation (rec {
 
   # `_GNU_SOURCE' is needed, e.g., to get `struct ucred' from
   # <sys/socket.h> with Glibc 2.9.
-  configureFlags = "--disable-debug --with-python=${python} CPPFLAGS=-D_GNU_SOURCE";
+  configureFlags = [
+    "--disable-debug"
+    "--with-python=${python}"
+    "CPPFLAGS=-D_GNU_SOURCE"
+  ];
 
   patches = [ ./deadlock.patch ]
     ++ map fetchurl (import ./debian-patches.nix)
@@ -30,6 +34,7 @@ stdenv.mkDerivation (rec {
     homepage    = https://people.gnome.org/~veillard/gamin/;
     description = "A file and directory monitoring system";
     maintainers = with maintainers; [ lovek323 ];
+    license = licenses.gpl2;
     platforms   = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gbenchmark/default.nix b/pkgs/development/libraries/gbenchmark/default.nix
index 6745bc1ecf5fa..d700c3d3c1604 100644
--- a/pkgs/development/libraries/gbenchmark/default.nix
+++ b/pkgs/development/libraries/gbenchmark/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, callPackage, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   name = "gbenchmark-${version}";
diff --git a/pkgs/development/libraries/gcab/default.nix b/pkgs/development/libraries/gcab/default.nix
index 0758d12522749..dc0ca5fffa3a5 100644
--- a/pkgs/development/libraries/gcab/default.nix
+++ b/pkgs/development/libraries/gcab/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, gettext, gobjectIntrospection, pkgconfig, meson, ninja, glibcLocales, git, vala, glib, zlib }:
+{ stdenv, fetchurl, gettext, gobjectIntrospection, pkgconfig
+, meson, ninja, glibcLocales, git, vala, glib, zlib
+}:
 
 stdenv.mkDerivation rec {
   name = "gcab-${version}";
@@ -22,6 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
+    license = licenses.lgpl21;
     maintainers = [ maintainers.lethalman ];
   };
 
diff --git a/pkgs/development/libraries/gcc/libgcc/default.nix b/pkgs/development/libraries/gcc/libgcc/default.nix
new file mode 100644
index 0000000000000..0a29ab6927f74
--- /dev/null
+++ b/pkgs/development/libraries/gcc/libgcc/default.nix
@@ -0,0 +1,152 @@
+{ stdenvNoLibs, buildPackages, buildPlatform, hostPlatform
+, gcc, glibc
+, libiberty
+}:
+
+stdenvNoLibs.mkDerivation rec {
+  name = "libgcc-${version}";
+  inherit (gcc.cc) src version;
+
+  outputs = [ "out" "dev" ];
+
+  strictDeps = true;
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ libiberty ];
+
+  postUnpack = ''
+    mkdir -p ./build
+    buildRoot=$(readlink -e "./build")
+  '';
+
+  postPatch = ''
+    sourceRoot=$(readlink -e "./libgcc")
+  '';
+
+  preConfigure = ''
+    cd "$buildRoot"
+  ''
+
+  # Drop in libiberty, as external builds are not expected
+  + ''
+    (
+      mkdir -p build-${buildPlatform.config}/libiberty/
+      cd build-${buildPlatform.config}/libiberty/
+      ln -s ${buildPackages.libiberty}/lib/libiberty.a ./
+    )
+  ''
+  # A few misc bits of gcc need to be built.
+  #
+  #  - We "shift" the tools over to fake platforms perspective from the previous
+  #    stage.
+  #
+  #  - We define GENERATOR_FILE so nothing bothers looking for GNU GMP.
+  #
+  #  - We remove the `libgcc.mvar` deps so that the bootstrap xgcc isn't built.
+  + ''
+    mkdir -p "$buildRoot/gcc"
+    cd "$buildRoot/gcc"
+    (
+      export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD
+      export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD
+      export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD
+      export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD
+      export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD
+
+      export AS=$AS_FOR_BUILD
+      export CC=$CC_FOR_BUILD
+      export CPP=$CPP_FOR_BUILD
+      export CXX=$CXX_FOR_BUILD
+      export LD=$LD_FOR_BUILD
+
+      export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS
+      export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC
+      export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP
+      export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD
+
+      export NIX_BUILD_CFLAGS_COMPILE+=' -DGENERATOR_FILE=1'
+
+      "$sourceRoot/../gcc/configure" $gccConfigureFlags
+
+      sed -e 's,libgcc.mvars:.*$,libgcc.mvars:,' -i Makefile
+
+      make \
+        config.h \
+        libgcc.mvars \
+        tconfig.h \
+        tm.h \
+        options.h \
+        insn-constants.h \
+        insn-modes.h \
+        gcov-iov.h
+    )
+    mkdir -p "$buildRoot/gcc/include"
+  ''
+  # Preparing to configure + build libgcc itself
+  + ''
+    mkdir -p "$buildRoot/gcc/${hostPlatform.config}/libgcc"
+    cd "$buildRoot/gcc/${hostPlatform.config}/libgcc"
+    configureScript=$sourceRoot/configure
+    chmod +x "$configureScript"
+
+    export AS_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$AS_FOR_BUILD
+    export CC_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CC_FOR_BUILD
+    export CPP_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CPP_FOR_BUILD
+    export CXX_FOR_BUILD=${buildPackages.stdenv.cc}/bin/$CXX_FOR_BUILD
+    export LD_FOR_BUILD=${buildPackages.stdenv.cc.bintools}/bin/$LD_FOR_BUILD
+
+    export AS=${stdenvNoLibs.cc}/bin/$AS
+    export CC=${stdenvNoLibs.cc}/bin/$CC
+    export CPP=${stdenvNoLibs.cc}/bin/$CPP
+    export CXX=${stdenvNoLibs.cc}/bin/$CXX
+    export LD=${stdenvNoLibs.cc.bintools}/bin/$LD
+
+    export AS_FOR_TARGET=${stdenvNoLibs.cc}/bin/$AS_FOR_TARGET
+    export CC_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CC_FOR_TARGET
+    export CPP_FOR_TARGET=${stdenvNoLibs.cc}/bin/$CPP_FOR_TARGET
+    export LD_FOR_TARGET=${stdenvNoLibs.cc.bintools}/bin/$LD_FOR_TARGET
+  '';
+
+  gccConfigureFlags = [
+    "--build=${buildPlatform.config}"
+    "--host=${buildPlatform.config}"
+    "--target=${hostPlatform.config}"
+
+    "--disable-bootstrap"
+    "--disable-multilib" "--with-multilib-list="
+    "--enable-languages=c"
+
+    "--disable-fixincludes"
+    "--disable-intl"
+    "--disable-lto"
+    "--disable-libatomic"
+    "--disable-libbacktrace"
+    "--disable-libcpp"
+    "--disable-libssp"
+    "--disable-libquadmath"
+    "--disable-libgomp"
+    "--disable-libvtv"
+    "--disable-vtable-verify"
+
+    "--with-system-zlib"
+  ] ++ stdenvNoLibs.lib.optional (hostPlatform.libc == "glibc")
+       "--with-glibc-version=${glibc.version}";
+
+  configurePlatforms = [ "build" "host" ];
+  configureFlags = [
+    "--disable-dependency-tracking"
+    # $CC cannot link binaries, let alone run then
+    "cross_compiling=true"
+    # Do not have dynamic linker without libc
+    "--enable-static"
+    "--disable-shared"
+  ];
+
+  makeFlags = [ "MULTIBUILDTOP:=../" ];
+
+  postInstall = ''
+    moveToOutput "lib/gcc/${hostPlatform.config}/${version}/include" "$dev"
+    mkdir -p "$out/lib" "$dev/include"
+    ln -s "$out/lib/gcc/${hostPlatform.config}/${version}"/* "$out/lib"
+    ln -s "$dev/lib/gcc/${hostPlatform.config}/${version}/include"/* "$dev/include/"
+  '';
+}
diff --git a/pkgs/development/libraries/libstdc++5/default.nix b/pkgs/development/libraries/gcc/libstdc++/5.nix
index f8397052b7709..f8397052b7709 100644
--- a/pkgs/development/libraries/libstdc++5/default.nix
+++ b/pkgs/development/libraries/gcc/libstdc++/5.nix
diff --git a/pkgs/development/libraries/libstdc++5/no-sys-dirs.patch b/pkgs/development/libraries/gcc/libstdc++/no-sys-dirs.patch
index 8c91d75f2a53d..8c91d75f2a53d 100644
--- a/pkgs/development/libraries/libstdc++5/no-sys-dirs.patch
+++ b/pkgs/development/libraries/gcc/libstdc++/no-sys-dirs.patch
diff --git a/pkgs/development/libraries/libstdc++5/struct-ucontext.patch b/pkgs/development/libraries/gcc/libstdc++/struct-ucontext.patch
index 5462e0e33ecd7..5462e0e33ecd7 100644
--- a/pkgs/development/libraries/libstdc++5/struct-ucontext.patch
+++ b/pkgs/development/libraries/gcc/libstdc++/struct-ucontext.patch
diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix
index 77fe948e003a3..5ceded0546c5b 100644
--- a/pkgs/development/libraries/gd/default.nix
+++ b/pkgs/development/libraries/gd/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # fails 2 tests
+
   meta = with stdenv.lib; {
     homepage = https://libgd.github.io/;
     description = "A dynamic image creation library";
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index 54174e7cfe460..f6d8cd6fa4c23 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -1,28 +1,29 @@
-{ stdenv, fetchurl, unzip, libjpeg, libtiff, zlib
+{ stdenv, fetchurl, fetchpatch, unzip, libjpeg, libtiff, zlib
 , postgresql, mysql, libgeotiff, pythonPackages, proj, geos, openssl
-, libpng, sqlite, libspatialite, poppler, hdf4
+, libpng, sqlite, libspatialite, poppler, hdf4, qhull, giflib, expat
 , libiconv
-, netcdfSupport ? true, netcdf, hdf5 , curl
+, netcdfSupport ? true, netcdf, hdf5, curl
 }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.2.3";
   name = "gdal-${version}";
+  version = "2.3.1";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/gdal/${version}/${name}.tar.xz";
-    sha256 = "a328d63d476b3653f5a25b5f7971e87a15cdf8860ab0729d4b1157ba988b8d0b";
+    url = "https://download.osgeo.org/gdal/${version}/${name}.tar.xz";
+    sha256 = "0nkjnznrp7dr41zsh8j923c9zpc3i5vj3wjfc2df9rrybb22ailw";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng proj openssl sqlite
-    libspatialite poppler hdf4 ]
+    libspatialite poppler hdf4 qhull giflib expat ]
   ++ (with pythonPackages; [ python numpy wrapPython ])
   ++ stdenv.lib.optional stdenv.isDarwin libiconv
   ++ stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ];
 
   configureFlags = [
+    "--with-expat=${expat.dev}"
     "--with-jpeg=${libjpeg.dev}"
     "--with-libtiff=${libtiff.dev}" # optional (without largetiff support)
     "--with-png=${libpng.dev}"      # optional
@@ -34,7 +35,7 @@ stdenv.mkDerivation rec {
     "--with-sqlite3=${sqlite.dev}"
     "--with-spatialite=${libspatialite}"
     "--with-python"               # optional
-    "--with-static-proj4=${proj}" # optional
+    "--with-proj=${proj}" # optional
     "--with-geos=${geos}/bin/geos-config"# optional
     "--with-hdf4=${hdf4.dev}" # optional
     (if netcdfSupport then "--with-netcdf=${netcdf}" else "")
diff --git a/pkgs/development/libraries/gdal/gdal-1_11.nix b/pkgs/development/libraries/gdal/gdal-1_11.nix
index 7a80ce7fdb667..84d130c3865e6 100644
--- a/pkgs/development/libraries/gdal/gdal-1_11.nix
+++ b/pkgs/development/libraries/gdal/gdal-1_11.nix
@@ -3,12 +3,12 @@
 , libpng }:
 
 stdenv.mkDerivation rec {
-  version = "1.11.3";
   name = "gdal-${version}";
+  version = "1.11.5";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/gdal/${version}/${name}.tar.gz";
-    sha256 = "561588bdfd9ca91919d4679a77a2b44214b158934ee8b425295ca5be33a1014d";
+    url = "https://download.osgeo.org/gdal/${version}/${name}.tar.xz";
+    sha256 = "0hphxzvy23v3vqxx1y22hhhg4cypihrb8555y12nb4mrhzlw7zfl";
   };
 
   buildInputs = [ unzip libjpeg libtiff libpng python pythonPackages.numpy proj openssl ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     ./python.patch
   ];
 
-  hardeningDisable = [ "format" ];
+  hardeningDisable = [ "format" "fortify" ];
 
   # Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
   # Unset CC and CXX as they confuse libtool.
@@ -51,11 +51,13 @@ stdenv.mkDerivation rec {
     export PYTHONPATH=''${PYTHONPATH:+''${PYTHONPATH}:}$pythonInstallDir
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Translator library for raster geospatial data formats";
     homepage = http://www.gdal.org/;
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/gdata-sharp/default.nix b/pkgs/development/libraries/gdata-sharp/default.nix
index 40e9b0ed90d50..a9b79dac7b882 100644
--- a/pkgs/development/libraries/gdata-sharp/default.nix
+++ b/pkgs/development/libraries/gdata-sharp/default.nix
@@ -34,6 +34,8 @@ in stdenv.mkDerivation rec {
       The Google Data APIs provide a simple protocol for reading and writing
       data on the web.
     '';
+
+    license = licenses.asl20;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index 310aaa430daf9..bbebcca6e2f06 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -1,11 +1,13 @@
 { stdenv, lib, buildPlatform, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "gdbm-1.14";
+  name = "gdbm-1.17";
+  # FIXME: remove on update to > 1.17
+  NIX_CFLAGS_COMPILE = if stdenv.cc.isClang then "-Wno-error=return-type" else null;
 
   src = fetchurl {
     url = "mirror://gnu/gdbm/${name}.tar.gz";
-    sha256 = "02dakgrq93xwgln8qfv3vs5jyz5yvds5nyzkx6rhg9v585x478dd";
+    sha256 = "0zcp2iv5dbab18859a5fvacg8lkp8k4pr9af13kfvami6lpcrn3w";
   };
 
   doCheck = true; # not cross;
diff --git a/pkgs/development/libraries/gdcm/default.nix b/pkgs/development/libraries/gdcm/default.nix
index 47f9e9c667608..cba31f45d5572 100644
--- a/pkgs/development/libraries/gdcm/default.nix
+++ b/pkgs/development/libraries/gdcm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, cmake, vtk }:
 
 stdenv.mkDerivation rec {
-  version = "2.8.5";
+  version = "2.8.7";
   name = "gdcm-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/gdcm/${name}.tar.bz2";
-    sha256 = "0aiwmxwa67zsb2sbadf8r2p9018qhc8gycb04kfrsf7rskz3x2h5";
+    sha256 = "1psl4r0i3hfhjjm9y8q5ml9lnlal4212bm8df21087dddi9nfl62";
   };
 
   dontUseCmakeBuildDir = true;
@@ -26,14 +26,15 @@ stdenv.mkDerivation rec {
   buildInputs = [ cmake vtk ];
   propagatedBuildInputs = [ ];
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The grassroots cross-platform DICOM implementation";
     longDescription = ''
       Grassroots DICOM (GDCM) is an implementation of the DICOM standard designed to be open source so that researchers may access clinical data directly.
       GDCM includes a file format definition and a network communications protocol, both of which should be extended to provide a full set of tools for a researcher or small medical imaging vendor to interface with an existing medical database.
     '';
     homepage = http://gdcm.sourceforge.net/;
-    platforms = stdenv.lib.platforms.all;
+    license = with licenses; [ bsd3 asl20 ];
+    platforms = platforms.all;
   };
 }
 
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index a1a9b10fca63c..3fb50e98c1c8d 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -1,64 +1,122 @@
-{ stdenv, fetchurl, pkgconfig, glib, libtiff, libjpeg, libpng, libX11, gnome3
-, jasper, libintlOrEmpty, gobjectIntrospection, doCheck ? false }:
+{ stdenv, fetchurl, fetchFromGitLab, fetchpatch, fixDarwinDylibNames, meson, ninja, pkgconfig, gettext, python3, libxml2, libxslt, docbook_xsl
+, docbook_xml_dtd_43, gtk-doc, glib, libtiff, libjpeg, libpng, libX11, gnome3
+, jasper, gobjectIntrospection, doCheck ? false, makeWrapper }:
 
 let
   pname = "gdk-pixbuf";
-  version = "2.36.7";
-  # TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
-  # which apparently requires access to shared-mime-info files during runtime.
+  version = "2.36.12";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1b6e5eef09d98f05f383014ecd3503e25dfb03d7e5b5f5904e5a65b049a6a4d8";
+  # TODO: Change back once tests/bug753605-atsize.jpg is part of the dist tarball
+  # src = fetchurl {
+  #   url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+  #   sha256 = "0d534ysa6n9prd17wwzisq7mj6qkhwh8wcf8qgin1ar3hbs5ry7z";
+  # };
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
+    repo = "gdk-pixbuf";
+    rev = version;
+    sha256 = "18lwqg63vyap2m1mw049rnb8fm869429xbf7636a2n21gs3d3jwv";
   };
 
-  outputs = [ "out" "dev" "devdoc" ];
+  patches = [
+    # TODO: since 2.36.8 gdk-pixbuf gets configured to use mime-type sniffing,
+    # which requires access to shared-mime-info files during runtime.
+    # For now, we are patching the build script to avoid the dependency.
+    ./no-mime-sniffing.patch
 
-  setupHook = ./setup-hook.sh;
+    # Fix installed tests with meson
+    # https://bugzilla.gnome.org/show_bug.cgi?id=795527
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=371381;
+      sha256 = "0nl1cixkjfa5kcfh0laz8h6hdsrpdkxqn7a1k35jrb6zwc9hbydn";
+    })
+
+    # Add missing test file bug753605-atsize.jpg
+    (fetchpatch {
+      url = https://gitlab.gnome.org/GNOME/gdk-pixbuf/commit/87f8f4bf01dfb9982c1ef991e4060a5e19fdb7a7.patch;
+      sha256 = "1slzywwnrzfx3zjzdsxrvp4g2q4skmv50pdfmyccp41j7bfyb2j0";
+    })
 
-  enableParallelBuilding = true;
+    # Move installed tests to a separate output
+    ./installed-tests-path.patch
+  ];
+
+  outputs = [ "out" "dev" "man" "devdoc" "installedTests" ];
+
+  setupHook = ./setup-hook.sh;
 
   # !!! We might want to factor out the gdk-pixbuf-xlib subpackage.
-  buildInputs = [ libX11 gobjectIntrospection ] ++ libintlOrEmpty;
+  buildInputs = [ libX11 ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [
+    meson ninja pkgconfig gettext python3 libxml2 libxslt docbook_xsl docbook_xml_dtd_43
+    gtk-doc gobjectIntrospection makeWrapper
+  ]
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   propagatedBuildInputs = [ glib libtiff libjpeg libpng jasper ];
 
-  configureFlags = "--with-libjasper --with-x11"
-    + stdenv.lib.optionalString (gobjectIntrospection != null) " --enable-introspection=yes"
-    ;
+  mesonFlags = [
+    "-Ddocs=true"
+    "-Djasper=true"
+    "-Dx11=true"
+    "-Dgir=${if gobjectIntrospection != null then "true" else "false"}"
+  ];
+
+  postPatch = ''
+    chmod +x build-aux/* # patchShebangs only applies to executables
+    patchShebangs build-aux
 
-  # on darwin, tests don't link
-  preBuild = stdenv.lib.optionalString (stdenv.isDarwin && !doCheck) ''
-    substituteInPlace Makefile --replace "docs tests" "docs"
+    substituteInPlace tests/meson.build --subst-var-by installedtestsprefix "$installedTests"
   '';
 
   postInstall =
-    # All except one utility seem to be only useful during building.
+    # meson erroneously installs loaders with .dylib extension on Darwin.
+    # Their @rpath has to be replaced before gdk-pixbuf-query-loaders looks at them.
+    stdenv.lib.optionalString stdenv.isDarwin ''
+      for f in $out/${passthru.moduleDir}/*.dylib; do
+          install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
+          mv $f ''${f%.dylib}.so
+      done
     ''
+    # All except one utility seem to be only useful during building.
+    + ''
       moveToOutput "bin" "$dev"
       moveToOutput "bin/gdk-pixbuf-thumbnailer" "$out"
+
+      # We need to install 'loaders.cache' in lib/gdk-pixbuf-2.0/2.10.0/
+      $dev/bin/gdk-pixbuf-query-loaders --update-cache
     '';
 
+  # The fixDarwinDylibNames hook doesn't patch binaries.
+  preFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    for f in $out/bin/* $dev/bin/*; do
+        install_name_tool -change @rpath/libgdk_pixbuf-2.0.0.dylib $out/lib/libgdk_pixbuf-2.0.0.dylib $f
+    done
+  '';
+
   # The tests take an excessive amount of time (> 1.5 hours) and memory (> 6 GB).
-  inherit (doCheck);
+  inherit doCheck;
 
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
       attrPath = "gdk_pixbuf";
     };
+
+    # gdk_pixbuf_moduledir variable from gdk-pixbuf-2.0.pc
+    moduleDir = "lib/gdk-pixbuf-2.0/2.10.0/loaders";
   };
 
   meta = with stdenv.lib; {
     description = "A library for image loading and manipulation";
     homepage = http://library.gnome.org/devel/gdk-pixbuf/;
     maintainers = [ maintainers.eelco ];
+    license = licenses.lgpl21;
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch b/pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch
new file mode 100644
index 0000000000000..1da2b0a10dcdc
--- /dev/null
+++ b/pkgs/development/libraries/gdk-pixbuf/installed-tests-path.patch
@@ -0,0 +1,13 @@
+--- a/tests/meson.build
++++ b/tests/meson.build
+@@ -85,8 +85,8 @@
+   'aero.gif',
+ ]
+ 
+-installed_test_bindir = join_paths(gdk_pixbuf_libexecdir, 'installed-tests', meson.project_name())
+-installed_test_datadir = join_paths(gdk_pixbuf_datadir, 'installed-tests', meson.project_name())
++installed_test_bindir = join_paths('@installedtestsprefix@', 'libexec', 'installed-tests', meson.project_name())
++installed_test_datadir = join_paths('@installedtestsprefix@', 'share', 'installed-tests', meson.project_name())
+ 
+ install_data(test_data, install_dir: installed_test_bindir)
+ install_subdir('test-images', install_dir: installed_test_bindir)
diff --git a/pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch b/pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch
new file mode 100644
index 0000000000000..9896e25acda1c
--- /dev/null
+++ b/pkgs/development/libraries/gdk-pixbuf/no-mime-sniffing.patch
@@ -0,0 +1,18 @@
+--- a/meson.build
++++ b/meson.build
+@@ -186,13 +186,8 @@
+ gmodule_dep = dependency('gmodule-no-export-2.0')
+ gio_dep = dependency('gio-2.0')
+ 
+-# On non-Windows/macOS systems we always required shared-mime-info and GIO
+-if host_system != 'windows' and host_system != 'darwin'
+-  shared_mime_dep = dependency('shared-mime-info')
+-  gdk_pixbuf_conf.set('GDK_PIXBUF_USE_GIO_MIME', 1)
+-else
+-  shared_mime_dep = []
+-endif
++# No MIME sniffing for now
++shared_mime_dep = []
+ 
+ gdk_pixbuf_deps = [ mathlib_dep, gobject_dep, gmodule_dep, gio_dep, shared_mime_dep ]
+ 
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index e743b60573ca9..54ee7662d06e9 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -1,21 +1,19 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
 , librsvg, pango, gtk, bzip2, json-glib, intltool, autoreconfHook, libraw
-, libwebp, gnome3 }:
+, libwebp, gnome3, libintl }:
 
 stdenv.mkDerivation rec {
-  name = "gegl-0.3.30";
+  name = "gegl-0.3.34";
 
   src = fetchurl {
-    url = "http://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
-    sha256 = "0lg5j5kn24qvyb6fn7khxf3jadkacbpnb9nrqzy7w665s8xakd7q";
+    url = "https://download.gimp.org/pub/gegl/0.3/${name}.tar.bz2";
+    sha256 = "010k86wn8cmr07rqwa4lccrmiiqrwbnkxvic4lpapwgbamv258jw";
   };
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   hardeningDisable = [ "format" ];
 
   # needs fonts otherwise  don't know how to pass them
-  configureFlags = "--disable-docs";
+  configureFlags = [ "--disable-docs" ];
 
   enableParallelBuilding = true;
 
@@ -28,7 +26,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-3.0.pc
 
-  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook libintl ];
 
   meta = with stdenv.lib; {
     description = "Graph-based image processing framework";
diff --git a/pkgs/development/libraries/gegl/4.0.nix b/pkgs/development/libraries/gegl/4.0.nix
new file mode 100644
index 0000000000000..c8b7b3b8eca51
--- /dev/null
+++ b/pkgs/development/libraries/gegl/4.0.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
+, librsvg, pango, gtk, bzip2, json-glib, intltool, autoreconfHook, libraw
+, libwebp, gnome3, libintl }:
+
+let
+  version = "0.4.8";
+in stdenv.mkDerivation rec {
+  name = "gegl-${version}";
+
+  outputs = [ "out" "dev" "devdoc" ];
+  outputBin = "dev";
+
+  src = fetchurl {
+    url = "https://download.gimp.org/pub/gegl/${stdenv.lib.versions.majorMinor version}/${name}.tar.bz2";
+    sha256 = "0jdfhf8wikba4h68k505x0br3gisiwivc33aca8v3ibaqpp6i53i";
+  };
+
+  enableParallelBuilding = true;
+
+  doCheck = true;
+
+  buildInputs = [
+    libpng cairo libjpeg librsvg pango gtk bzip2
+    libraw libwebp gnome3.gexiv2
+  ];
+
+  propagatedBuildInputs = [ glib json-glib babl ]; # for gegl-4.0.pc
+
+  nativeBuildInputs = [ pkgconfig intltool which autoreconfHook libintl ];
+
+  meta = with stdenv.lib; {
+    description = "Graph-based image processing framework";
+    homepage = http://www.gegl.org;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index 304d8110ad461..e90cc257e7e87 100644
--- a/pkgs/development/libraries/gegl/default.nix
+++ b/pkgs/development/libraries/gegl/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg
-, librsvg, pango, gtk2, bzip2, intltool
+{ stdenv, fetchurl, pkgconfig, babl, libpng, cairo, libjpeg
+, librsvg, pango, gtk2, bzip2, intltool, libintl
 , OpenGL ? null }:
 
 stdenv.mkDerivation rec {
@@ -18,16 +18,16 @@ stdenv.mkDerivation rec {
   })];
 
   # needs fonts otherwise  don't know how to pass them
-  configureFlags = "--disable-docs";
+  configureFlags = [ "--disable-docs" ];
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
-  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool ]
+  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool libintl ]
     ++ stdenv.lib.optional stdenv.isDarwin OpenGL;
 
   nativeBuildInputs = [ pkgconfig ];
 
-  meta = { 
+  doCheck = false; # fails 3 out of 19 tests
+
+  meta = {
     description = "Graph-based image processing framework";
     homepage = http://www.gegl.org;
     license = stdenv.lib.licenses.gpl3;
diff --git a/pkgs/development/libraries/geis/default.nix b/pkgs/development/libraries/geis/default.nix
index 5796425e4385a..56d8cd21f844f 100644
--- a/pkgs/development/libraries/geis/default.nix
+++ b/pkgs/development/libraries/geis/default.nix
@@ -3,7 +3,7 @@
 , python3Packages
 , wrapGAppsHook
 , atk
-, dbus_libs
+, dbus
 , evemu
 , frame
 , gdk_pixbuf
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     [ pygobject3  ];
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook python3Packages.wrapPython];
-  buildInputs = [ atk dbus_libs evemu frame gdk_pixbuf gobjectIntrospection grail
+  buildInputs = [ atk dbus evemu frame gdk_pixbuf gobjectIntrospection grail
     gtk3 libX11 libXext libXi libXtst pango python3Packages.python xorgserver
   ];
 
diff --git a/pkgs/development/libraries/geoclue/2.0.nix b/pkgs/development/libraries/geoclue/2.0.nix
deleted file mode 100644
index b70163789dec6..0000000000000
--- a/pkgs/development/libraries/geoclue/2.0.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ fetchurl, stdenv, intltool, libintlOrEmpty, pkgconfig, glib, json-glib, libsoup, geoip
-, dbus, dbus-glib, modemmanager, avahi, glib-networking, wrapGAppsHook, gobjectIntrospection
-}:
-
-with stdenv.lib;
-
-stdenv.mkDerivation rec {
-  name = "geoclue-2.4.7";
-
-  src = fetchurl {
-    url = "http://www.freedesktop.org/software/geoclue/releases/2.4/${name}.tar.xz";
-    sha256 = "19hfmr8fa1js8ynazdyjxlyrqpjn6m1719ay70ilga4rayxrcyyi";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [
-    pkgconfig intltool wrapGAppsHook gobjectIntrospection
-  ];
-
-  buildInputs = libintlOrEmpty ++
-   [ glib json-glib libsoup geoip
-     dbus dbus-glib avahi
-   ] ++ optionals (!stdenv.isDarwin) [ modemmanager ];
-
-  propagatedBuildInputs = [ dbus dbus-glib glib glib-networking ];
-
-  preConfigure = ''
-     substituteInPlace configure --replace "-Werror" ""
-  '';
-
-  configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system" "--enable-introspection" ] ++
-                   optionals stdenv.isDarwin [
-                       "--disable-silent-rules"
-                       "--disable-3g-source"
-                       "--disable-cdma-source"
-                       "--disable-modem-gps-source"
-                       "--disable-nmea-source" ];
-
-  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl";
-
-  postInstall = ''
-    sed -i $dev/lib/pkgconfig/libgeoclue-2.0.pc -e "s|includedir=.*|includedir=$dev/include|"
-  '';
-
-  meta = with stdenv.lib; {
-    description = "Geolocation framework and some data providers";
-    homepage = https://freedesktop.org/wiki/Software/GeoClue/;
-    maintainers = with maintainers; [ raskin garbas ];
-    platforms = with platforms; linux ++ darwin;
-    license = licenses.lgpl2;
-  };
-}
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index bf0af502d017c..8417719b70630 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -1,36 +1,53 @@
-{ stdenv, fetchurl, dbus, dbus-glib, glib, pkgconfig, libxml2, gnome2,
-  libxslt, glib-networking }:
+{ fetchurl, stdenv, intltool, pkgconfig, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, json-glib, libsoup, libnotify, gdk_pixbuf
+, modemmanager, avahi, glib-networking, wrapGAppsHook, gobjectIntrospection
+, withDemoAgent ? false
+}:
+
+with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "geoclue-0.12.0";
+  name = "geoclue-${version}";
+  version = "2.4.12";
+
   src = fetchurl {
-    url = "https://launchpad.net/geoclue/trunk/0.12/+download/${name}.tar.gz";
-    sha256 = "15j619kvmdgj2hpma92mkxbzjvgn8147a7500zl3bap9g8bkylqg";
+    url = "https://www.freedesktop.org/software/geoclue/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "1jnad1f3rf8h05sz1lc172jnqdhqdpz76ff6m7i5ss3s0znf5l05";
   };
 
-  outputs = [ "out" "dev" ];
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxml2 gnome2.GConf libxslt glib-networking ];
-
-  propagatedBuildInputs = [dbus glib dbus-glib];
-
-  hardeningDisable = [ "format" ];
-
-  preConfigure = ''
-    sed -e '/-Werror/d' -i configure
-  '';
+  outputs = [ "out" "dev" "devdoc" ];
+
+  nativeBuildInputs = [
+    pkgconfig intltool wrapGAppsHook gobjectIntrospection
+    # devdoc
+    gtk-doc docbook_xsl docbook_xml_dtd_412 
+  ];
+
+  buildInputs = [
+    glib json-glib libsoup avahi
+  ] ++ optionals withDemoAgent [
+    libnotify gdk_pixbuf
+  ] ++ optionals (!stdenv.isDarwin) [ modemmanager ];
+
+  propagatedBuildInputs = [ glib glib-networking ];
+
+  configureFlags = [
+    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+    "--enable-introspection"
+    "--enable-gtk-doc"
+    "--enable-demo-agent=${if withDemoAgent then "yes" else "no"}"
+  ] ++ optionals stdenv.isDarwin [
+    "--disable-silent-rules"
+    "--disable-3g-source"
+    "--disable-cdma-source"
+    "--disable-modem-gps-source"
+    "--disable-nmea-source"
+  ];
 
   meta = with stdenv.lib; {
     description = "Geolocation framework and some data providers";
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
+    homepage = https://gitlab.freedesktop.org/geoclue/geoclue/wikis/home;
+    maintainers = with maintainers; [ raskin garbas ];
+    platforms = with platforms; linux ++ darwin;
     license = licenses.lgpl2;
   };
-
-  passthru = {
-    updateInfo = {
-      downloadPage = "http://folks.o-hand.com/jku/geoclue-releases/";
-    };
-  };
 }
diff --git a/pkgs/development/libraries/geos/default.nix b/pkgs/development/libraries/geos/default.nix
index de7111f6be364..c1b4c88aa4799 100644
--- a/pkgs/development/libraries/geos/default.nix
+++ b/pkgs/development/libraries/geos/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fetchpatch, python }:
+{ stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "geos-3.6.1";
+  name = "geos-3.6.3";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/geos/${name}.tar.bz2";
-    sha256 = "1icz31kd5sml2kdxhjznvmv33zfr6nig9l0i6bdcz9q9g8x4wbja";
+    url = "https://download.osgeo.org/geos/${name}.tar.bz2";
+    sha256 = "0jrypv61rbyp7vi9qpnnaiigjj8cgdqvyk8ymik8h1ppcw5am7mb";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/getdns/default.nix b/pkgs/development/libraries/getdns/default.nix
index 779534460df2e..66fc0138ef9bc 100644
--- a/pkgs/development/libraries/getdns/default.nix
+++ b/pkgs/development/libraries/getdns/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
   pname = "getdns";
   name = "${pname}-${version}";
-  version = "1.4.1";
+  version = "1.4.2";
 
   src = fetchurl {
-    url = "https://getdnsapi.net/releases/${pname}-1-4-1/${pname}-${version}.tar.gz";
-    sha256 = "07n5n5m4dnnh2xkh7wrnlx8s8myrvjf2nbs7n5m5nq8gg3f36li4";
+    url = "https://getdnsapi.net/releases/${pname}-1-4-2/${pname}-${version}.tar.gz";
+    sha256 = "100fzjpvajvnv0kym8g5lkwyv8w8vhy7g2p0pb2gyz19zqnvi18n";
   };
 
   nativeBuildInputs = [ libtool m4 autoreconfHook automake file ];
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index 9c3024ce25fb6..469dcbf75bbe1 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gettext-${version}";
-  version = "0.19.8";
+  version = "0.19.8.1";
 
   src = fetchurl {
     url = "mirror://gnu/gettext/${name}.tar.gz";
-    sha256 = "13ylc6n3hsk919c7xl0yyibc3pfddzb53avdykn4hmk8g6yzd91x";
+    sha256 = "0hsw28f9q9xaggjlsdp2qmbp2rbd1mp0njzan2ld9kiqwkq2m57z";
   };
   patches = [ ./absolute-paths.diff ];
 
@@ -16,12 +16,19 @@ stdenv.mkDerivation rec {
 
   LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
 
-  configureFlags = [ "--disable-csharp" "--with-xz" ]
+  configureFlags = [
+     "--disable-csharp" "--with-xz"
      # avoid retaining reference to CF during stdenv bootstrap
-     ++ lib.optionals stdenv.isDarwin [
-            "gt_cv_func_CFPreferencesCopyAppValue=no"
-            "gt_cv_func_CFLocaleCopyCurrent=no"
-        ];
+  ] ++ lib.optionals stdenv.isDarwin [
+    "gt_cv_func_CFPreferencesCopyAppValue=no"
+    "gt_cv_func_CFLocaleCopyCurrent=no"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    # On cross building, gettext supposes that the wchar.h from libc
+    # does not fulfill gettext needs, so it tries to work with its
+    # own wchar.h file, which does not cope well with the system's
+    # wchar.h and stddef.h (gcc-4.3 - glibc-2.9)
+    "gl_cv_func_wcwidth_works=yes"
+  ];
 
   postPatch = ''
    substituteAllInPlace gettext-runtime/src/gettext.sh.in
@@ -33,26 +40,19 @@ stdenv.mkDerivation rec {
     sed -i -e "s/\(libgettextsrc_la_LDFLAGS = \)/\\1..\/gnulib-lib\/libxml_rpl.la /" gettext-tools/src/Makefile.in
   '';
 
-  # On cross building, gettext supposes that the wchar.h from libc
-  # does not fulfill gettext needs, so it tries to work with its
-  # own wchar.h file, which does not cope well with the system's
-  # wchar.h and stddef.h (gcc-4.3 - glibc-2.9)
-  preConfigure = ''
-    if test -n "$crossConfig"; then
-      echo gl_cv_func_wcwidth_works=yes > cachefile
-      configureFlags="$configureFlags --cache-file=`pwd`/cachefile"
-    fi
-  '';
-
   nativeBuildInputs = [ xz xz.bin ];
   # HACK, see #10874 (and 14664)
   buildInputs = stdenv.lib.optional (!stdenv.isLinux && !hostPlatform.isCygwin) libiconv;
 
-  setupHook = ./gettext-setup-hook.sh;
+  setupHooks = [
+    ../../../build-support/setup-hooks/role.bash
+    ./gettext-setup-hook.sh
+  ];
+  gettextNeedsLdflags = hostPlatform.libc != "glibc" && !hostPlatform.isMusl;
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     description = "Well integrated set of translation tools and documentation";
 
     longDescription = ''
@@ -76,8 +76,9 @@ stdenv.mkDerivation rec {
 
     homepage = http://www.gnu.org/software/gettext/;
 
-    maintainers = with lib.maintainers; [ zimbatm vrthra ];
-    platforms = lib.platforms.all;
+    maintainers = with maintainers; [ zimbatm vrthra ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
   };
 }
 
diff --git a/pkgs/development/libraries/gettext/gettext-setup-hook.sh b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
index 5932ef6a44f92..0a6bc0dd253af 100644
--- a/pkgs/development/libraries/gettext/gettext-setup-hook.sh
+++ b/pkgs/development/libraries/gettext/gettext-setup-hook.sh
@@ -1,7 +1,17 @@
 gettextDataDirsHook() {
+    # See pkgs/build-support/setup-hooks/role.bash
+    getHostRoleEnvHook
     if [ -d "$1/share/gettext" ]; then
-        addToSearchPath GETTEXTDATADIRS "$1/share/gettext"
+        addToSearchPath "GETTEXTDATADIRS${role_post}" "$1/share/gettext"
     fi
 }
 
 addEnvHooks "$hostOffset" gettextDataDirsHook
+
+# libintl must be listed in load flags on non-Glibc
+# it doesn't hurt to have it in Glibc either though
+if [ ! -z "@gettextNeedsLdflags@" ]; then
+    # See pkgs/build-support/setup-hooks/role.bash
+    getHostRole
+    export NIX_${role_pre}LDFLAGS+=" -lintl"
+fi
diff --git a/pkgs/development/libraries/gf2x/default.nix b/pkgs/development/libraries/gf2x/default.nix
index 7ab06afdad614..a00e07376c7bc 100644
--- a/pkgs/development/libraries/gf2x/default.nix
+++ b/pkgs/development/libraries/gf2x/default.nix
@@ -1,18 +1,33 @@
-{stdenv, fetchurl}:
+{ stdenv
+, lib
+, fetchurl
+, optimize ? false # impure hardware optimizations
+}:
 stdenv.mkDerivation rec {
   name = "gf2x-${version}";
-  version = "1.1";
+  version = "1.2"; # remember to also update the url
 
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
-    url = "http://gforge.inria.fr/frs/download.php/file/30873/gf2x-1.1.tar.gz";
-    sha256 = "17w4b39j9dvri5s278pxi8ha7mf47j87kq1lr802l4408rh02gqd";
+    # find link to latest version (with file id) here: https://gforge.inria.fr/projects/gf2x/
+    # Requested a predictable link:
+    # https://gforge.inria.fr/tracker/index.php?func=detail&aid=21704&group_id=1874&atid=6982
+    url = "https://gforge.inria.fr/frs/download.php/file/36934/gf2x-${version}.tar.gz";
+    sha256 = "0d6vh1mxskvv3bxl6byp7gxxw3zzpkldrxnyajhnl05m0gx7yhk1";
   };
 
-  meta = {
+  # no actual checks present yet (as of 1.2), but can't hurt trying
+  # for an indirect test, run ntl's test suite
+  doCheck = true;
+
+  configureFlags = lib.optionals (!optimize) [
+    "--disable-hardware-specific-code"
+  ];
+
+  meta = with lib; {
     description = ''Routines for fast arithmetic in GF(2)[x]'';
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = ["x86_64-linux"];
+    homepage = http://gf2x.gforge.inria.fr;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ raskin timokau ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/gflags/default.nix b/pkgs/development/libraries/gflags/default.nix
deleted file mode 100644
index f9fc4366b7e45..0000000000000
--- a/pkgs/development/libraries/gflags/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ stdenv, fetchurl, cmake }:
-
-stdenv.mkDerivation
-  { name = "gflags-2.2.1";
-    src = fetchurl
-      { url = "https://github.com/gflags/gflags/archive/v2.2.1.tar.gz";
-        sha256 = "03lxc2ah8i392kh1naq99iip34k4fpv22kwflyx3byd2ssycs9xf";
-      };
-    nativeBuildInputs = [ cmake ];
-    # for case-insensitive filesystems
-    prePatch = "mv BUILD BUILD.bazel";
-
-    meta = with stdenv.lib; {
-      description = "C++ library that implements commandline flags processing";
-      homepage = "https://github.com/gflags/gflags";
-      license = licenses.bsd3;
-      platforms = platforms.unix;
-    };
-  }
diff --git a/pkgs/development/libraries/giflib/4.1.nix b/pkgs/development/libraries/giflib/4.1.nix
index c70bda034871c..941a7c27feafd 100644
--- a/pkgs/development/libraries/giflib/4.1.nix
+++ b/pkgs/development/libraries/giflib/4.1.nix
@@ -10,9 +10,11 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  meta = {
+  meta = with stdenv.lib; {
+    description = "A library for reading and writing gif images";
     branch = "4.1";
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.mit;
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/development/libraries/gio-sharp/default.nix b/pkgs/development/libraries/gio-sharp/default.nix
index 804da49fda930..b0a115eb4a511 100644
--- a/pkgs/development/libraries/gio-sharp/default.nix
+++ b/pkgs/development/libraries/gio-sharp/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "GIO API bindings";
+    homepage = https://github.com/mono/gio-sharp;
+    license = licenses.mit;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/git2/0.25.nix b/pkgs/development/libraries/git2/0.27.nix
index 9743b82a14abc..bafd6be37df6e 100644
--- a/pkgs/development/libraries/git2/0.25.nix
+++ b/pkgs/development/libraries/git2/0.27.nix
@@ -4,14 +4,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.25.1";
+  version = "0.27.4";
   name = "libgit2-${version}";
 
   src = fetchFromGitHub {
     owner = "libgit2";
     repo = "libgit2";
     rev = "v${version}";
-    sha256 = "1jhikg0gqpdzfzhgv44ybdpm24lvgkc7ki4306lc5lvmj1s2nylj";
+    sha256 = "1cmc8ldhpyp62pswb7dmjjya3ng0ssaggcsxs1labvp6xyxjvp6s";
   };
 
   cmakeFlags = [ "-DTHREADSAFE=ON" ];
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # hangs. or very expensive?
+
   meta = {
     description = "The Git linkable library";
     homepage = https://libgit2.github.com/;
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index c0659a79fd343..48d595137b3dd 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -5,14 +5,14 @@
 
 stdenv.mkDerivation (rec {
   name = "libgit2-${version}";
-  version = "0.26.0";
+  version = "0.26.6";
   # keep the version in sync with pythonPackages.pygit2 and gnome3.libgit2-glib
 
   src = fetchFromGitHub {
     owner = "libgit2";
     repo = "libgit2";
     rev = "v${version}";
-    sha256 = "0zrrmfkfhd2xb4879z5khjb6xsdklrm01f1lscrs2ks68v25fk78";
+    sha256 = "17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3";
   };
 
   cmakeFlags = [ "-DTHREADSAFE=ON" ];
@@ -26,6 +26,8 @@ stdenv.mkDerivation (rec {
 
   enableParallelBuilding = true;
 
+  doCheck = false; # hangs. or very expensive?
+
   meta = with stdenv.lib; {
     description = "The Git linkable library";
     homepage = https://libgit2.github.com/;
diff --git a/pkgs/development/libraries/givaro/default.nix b/pkgs/development/libraries/givaro/default.nix
index 3556acb0590dd..0773daa2d09a2 100644
--- a/pkgs/development/libraries/givaro/default.nix
+++ b/pkgs/development/libraries/givaro/default.nix
@@ -11,8 +11,12 @@ stdenv.mkDerivation rec {
     rev = "v${version}";
     sha256 = "199p8wyj5i63jbnk7j8qbdbfp5rm2lpmcxyk3mdjy9bz7ygx3hhy";
   };
+
+  enableParallelBuilding = true;
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [autoconf automake libtool gmpxx];
+
   configureFlags = [
     "--disable-optimization"
   ] ++ stdenv.lib.optionals (!optimize) [
@@ -28,12 +32,18 @@ stdenv.mkDerivation rec {
     "--disable-fma"
     "--disable-fma4"
   ];
-  doCheck = true;
+
+  # On darwin, tests are linked to dylib in the nix store, so we need to make
+  # sure tests run after installPhase.
+  doInstallCheck = true;
+  installCheckTarget = "check";
+  doCheck = false;
+
   meta = {
     inherit version;
     description = ''A C++ library for arithmetic and algebraic computations'';
     license = stdenv.lib.licenses.cecill-b;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/glbinding/default.nix b/pkgs/development/libraries/glbinding/default.nix
new file mode 100644
index 0000000000000..339e0d8d60b9e
--- /dev/null
+++ b/pkgs/development/libraries/glbinding/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, cmake, libGLU, xlibsWrapper }:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "glbinding";
+  version = "2.1.4";
+
+  src = fetchFromGitHub {
+    owner = "cginternals";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1yic3p2iqzxc7wrjnqclx7vcaaqx5fiysq9rqbi6v390jqkg3zlz";
+  };
+
+  buildInputs = [ cmake libGLU xlibsWrapper ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/cginternals/glbinding/;
+    description = "A C++ binding for the OpenGL API, generated using the gl.xml specification";
+    license = licenses.mit;
+    maintainers = [ maintainers.mt-caret ];
+  };
+}
diff --git a/pkgs/development/libraries/gle/default.nix b/pkgs/development/libraries/gle/default.nix
index 1980c633474f5..dd72637f2eb02 100644
--- a/pkgs/development/libraries/gle/default.nix
+++ b/pkgs/development/libraries/gle/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation {
   src = fetchurl {
     urls = [
       "mirror://sourceforge/project/gle/gle/gle-3.1.0/gle-3.1.0.tar.gz"
-      "http://www.linas.org/gle/pub/gle-3.1.0.tar.gz"
+      "https://www.linas.org/gle/pub/gle-3.1.0.tar.gz"
       ];
     sha256 = "09zs1di4dsssl9k322nzildvf41jwipbzhik9p43yb1bcfsp92nw";
   };
diff --git a/pkgs/development/libraries/glew/1.10.nix b/pkgs/development/libraries/glew/1.10.nix
index fafcf82258ab1..af0830ab70421 100644
--- a/pkgs/development/libraries/glew/1.10.nix
+++ b/pkgs/development/libraries/glew/1.10.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libGLU, x11, libXmu, libXi
+{ stdenv, fetchurl, libGLU, xlibsWrapper, libXmu, libXi
 , buildPlatform, hostPlatform
 , AGL ? null
 }:
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "01zki46dr5khzlyywr3cg615bcal32dazfazkf360s1znqh17i4r";
   };
 
-  buildInputs = [ x11 libXmu libXi ] ++ optionals stdenv.isDarwin [ AGL ];
+  buildInputs = [ xlibsWrapper libXmu libXi ]
+              ++ optionals stdenv.isDarwin [ AGL ];
   propagatedBuildInputs = [ libGLU ]; # GL/glew.h includes GL/glu.h
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index eebf4dded4ade..a8add880090f2 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -5,11 +5,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "glew-2.0.0";
+  name = "glew-2.1.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/glew/${name}.tgz";
-    sha256 = "0r37fg2s1f0jrvwh6c8cz5x6v4wqmhq42qm15cs9qs349q5c6wn5";
+    sha256 = "159wk5dc0ykjbxvag5i1m2mhp23zkk6ra04l26y3jc3nwvkr3ph4";
   };
 
   outputs = [ "bin" "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 51ee5487f5f0b..e0bbae69c4ffe 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   patches = [
     # Use GNUTLS system trust for certificates
     (fetchpatch {
-      url = https://git.gnome.org/browse/glib-networking/patch/?id=f1c8feee014007cc913b71357acb609f8d1200df;
+      url = https://gitlab.gnome.org/GNOME/glib-networking/commit/f1c8feee014007cc913b71357acb609f8d1200df.patch;
       sha256 = "1rbxqsrcb5if3xs2d18pqzd9xnjysdj715ijc41n5w326fsawg7i";
     })
   ];
@@ -47,4 +47,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index 4f347f3e15d06..f03ddfc48b2e1 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, hostPlatform, fetchurl, pkgconfig, gettext, perl, python
-, libiconv, libintlOrEmpty, zlib, libffi, pcre, libelf, gnome3
+{ stdenv, fetchurl, gettext, pkgconfig, perl, python
+, libiconv, zlib, libffi, pcre, libelf, gnome3
 # use utillinuxMinimal to avoid circular dependency (utillinux, systemd, glib)
 , utillinuxMinimal ? null
 
-# this is just for tests (not in closure of any regular package)
-, coreutils, dbus_daemon, libxml2, tzdata, desktop-file-utils, shared-mime-info, doCheck ? false
+# this is just for tests (not in the closure of any regular package)
+, doCheck ? stdenv.config.doCheckByDefault or false
+, coreutils, dbus, libxml2, tzdata
+, desktop-file-utils, shared-mime-info
 }:
 
 with stdenv.lib;
 
-assert stdenv.isFreeBSD || stdenv.isDarwin || stdenv.cc.isGNU || hostPlatform.isCygwin;
 assert stdenv.isLinux -> utillinuxMinimal != null;
 
 # TODO:
@@ -55,7 +56,10 @@ stdenv.mkDerivation rec {
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch
     ++ optional doCheck ./skip-timer-test.patch
-    ++ [ ./schema-override-variable.patch ];
+    ++ optionals stdenv.hostPlatform.isMusl [
+      ./quark_init_on_demand.patch
+      ./gobject_init_on_demand.patch
+    ] ++ [ ./schema-override-variable.patch ];
 
   outputs = [ "bin" "out" "dev" "devdoc" ];
   outputBin = "dev";
@@ -63,20 +67,15 @@ stdenv.mkDerivation rec {
   setupHook = ./setup-hook.sh;
 
   buildInputs = [ libelf setupHook pcre ]
-    ++ optionals stdenv.isLinux [ utillinuxMinimal ] # for libmount
-    ++ optionals doCheck [ tzdata libxml2 desktop-file-utils shared-mime-info ];
+    ++ optionals stdenv.isLinux [ utillinuxMinimal ]; # for libmount
 
-  nativeBuildInputs = [ pkgconfig gettext perl python ];
+  nativeBuildInputs = [ pkgconfig perl python gettext ];
 
-  propagatedBuildInputs = [ zlib libffi libiconv ]
-    ++ libintlOrEmpty;
+  propagatedBuildInputs = [ zlib libffi gettext libiconv ];
 
   # internal pcre would only add <200kB, but it's relatively common
   configureFlags = [ "--with-pcre=system" ]
     ++ optional stdenv.isDarwin "--disable-compile-warnings"
-    # glibc inclues GNU libiconv, but Darwin's iconv function is good enonugh.
-    ++ optional (stdenv.hostPlatform.libc != "glibc" && !stdenv.hostPlatform.isDarwin)
-      "--with-libiconv=gnu"
     ++ optional stdenv.isSunOS "--disable-dtrace"
     # Can't run this test when cross-compiling
     ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform)
@@ -84,8 +83,7 @@ stdenv.mkDerivation rec {
     # GElf only supports elf64 hosts
     ++ optional (!stdenv.hostPlatform.is64bit) "--disable-libelf";
 
-  NIX_CFLAGS_COMPILE = optional stdenv.isDarwin "-lintl"
-    ++ optional stdenv.isSunOS "-DBSD_COMP";
+  NIX_CFLAGS_COMPILE = optional stdenv.isSunOS "-DBSD_COMP";
 
   preConfigure = optionalString stdenv.isSunOS ''
     sed -i -e 's|inotify.h|foobar-inotify.h|g' configure
@@ -120,7 +118,8 @@ stdenv.mkDerivation rec {
       -i "$dev"/include/glib-2.0/gobject/gobjectnotifyqueue.c
   '';
 
-  inherit doCheck;
+  checkInputs = [ tzdata libxml2 desktop-file-utils shared-mime-info ];
+
   preCheck = optionalString doCheck ''
     export LD_LIBRARY_PATH="$NIX_BUILD_TOP/${name}/glib/.libs:$LD_LIBRARY_PATH"
     export TZDIR="${tzdata}/share/zoneinfo"
@@ -128,7 +127,7 @@ stdenv.mkDerivation rec {
     export XDG_RUNTIME_HOME="$TMP"
     export HOME="$TMP"
     export XDG_DATA_DIRS="${desktop-file-utils}/share:${shared-mime-info}/share"
-    export G_TEST_DBUS_DAEMON="${dbus_daemon.out}/bin/dbus-daemon"
+    export G_TEST_DBUS_DAEMON="${dbus.daemon}/bin/dbus-daemon"
     export PATH="$PATH:$(pwd)/gobject"
     echo "PATH=$PATH"
 
@@ -145,6 +144,8 @@ stdenv.mkDerivation rec {
     sed -e '/g_subprocess_launcher_set_environ (launcher, envp);/a g_subprocess_launcher_setenv (launcher, "PATH", g_getenv("PATH"), TRUE);' -i gio/tests/gsubprocess.c
   '';
 
+  inherit doCheck;
+
   passthru = {
     gioModuleDir = "lib/gio/modules";
     inherit flattenInclude;
diff --git a/pkgs/development/libraries/glib/gobject_init_on_demand.patch b/pkgs/development/libraries/glib/gobject_init_on_demand.patch
new file mode 100644
index 0000000000000..d72d0b61dca27
--- /dev/null
+++ b/pkgs/development/libraries/glib/gobject_init_on_demand.patch
@@ -0,0 +1,87 @@
+--- glib-source/gobject/gtype.c	2016-08-17 17:20:47.000000000 +0200
++++ glib-source/gobject/gtype.c	2016-09-01 21:56:31.777406646 +0200
+@@ -209,6 +209,9 @@
+ static gboolean				type_node_is_a_L		(TypeNode		*node,
+ 									 TypeNode		*iface_node);
+ 
++#if !defined(__GLIBC__)
++static void gobject_init (void);
++#endif
+ 
+ /* --- enumeration --- */
+ 
+@@ -2631,7 +2634,10 @@
+ 			     GTypeFlags			 flags)
+ {
+   TypeNode *node;
+-  
++ 
++#if !defined(__GLIBC__)
++  gobject_init();
++#endif 
+   g_assert_type_system_initialized ();
+   g_return_val_if_fail (type_id > 0, 0);
+   g_return_val_if_fail (type_name != NULL, 0);
+@@ -2749,6 +2755,9 @@
+   TypeNode *pnode, *node;
+   GType type = 0;
+   
++#if !defined(__GLIBC__)
++  gobject_init();
++#endif 
+   g_assert_type_system_initialized ();
+   g_return_val_if_fail (parent_type > 0, 0);
+   g_return_val_if_fail (type_name != NULL, 0);
+@@ -2804,6 +2813,9 @@
+   TypeNode *pnode, *node;
+   GType type;
+   
++#if !defined(__GLIBC__)
++  gobject_init();
++#endif 
+   g_assert_type_system_initialized ();
+   g_return_val_if_fail (parent_type > 0, 0);
+   g_return_val_if_fail (type_name != NULL, 0);
+@@ -3319,6 +3331,9 @@
+ {
+   TypeNode *node;
+   
++#if !defined(__GLIBC__)
++  gobject_init();
++#endif 
+   g_assert_type_system_initialized ();
+   
+   node = lookup_type_node_I (type);
+@@ -4343,6 +4358,9 @@
+ void
+ g_type_init_with_debug_flags (GTypeDebugFlags debug_flags)
+ {
++#if !defined(__GLIBC__)
++  gobject_init();
++#endif 
+   g_assert_type_system_initialized ();
+ 
+   if (debug_flags)
+@@ -4361,6 +4379,9 @@
+ void
+ g_type_init (void)
+ {
++#if !defined(__GLIBC__)
++  gobject_init();
++#endif 
+   g_assert_type_system_initialized ();
+ }
+ 
+@@ -4372,6 +4393,12 @@
+   TypeNode *node;
+   GType type;
+ 
++#if !defined(__GLIBC__)
++  static int gobject_initialized = 0;
++  if (gobject_initialized)
++    return;
++  gobject_initialized = 1;
++#endif
+   /* Ensure GLib is initialized first, see
+    * https://bugzilla.gnome.org/show_bug.cgi?id=756139
+    */
diff --git a/pkgs/development/libraries/glib/quark_init_on_demand.patch b/pkgs/development/libraries/glib/quark_init_on_demand.patch
new file mode 100644
index 0000000000000..168086484314f
--- /dev/null
+++ b/pkgs/development/libraries/glib/quark_init_on_demand.patch
@@ -0,0 +1,33 @@
+--- glib-source/glib/gquark.c	2016-08-17 17:20:47.000000000 +0200
++++ glib-source/glib/gquark.c	2016-08-30 07:49:13.298234757 +0200
+@@ -57,6 +57,9 @@
+ void
+ g_quark_init (void)
+ {
++  if (quark_ht)
++    return;
++
+   g_assert (quark_seq_id == 0);
+   quark_ht = g_hash_table_new (g_str_hash, g_str_equal);
+   quarks = g_new (gchar*, QUARK_BLOCK_SIZE);
+@@ -138,9 +141,12 @@
+     return 0;
+ 
+   G_LOCK (quark_global);
++#if !defined(__GLIBC__)
++  g_quark_init ();
++#endif
+   quark = GPOINTER_TO_UINT (g_hash_table_lookup (quark_ht, string));
+   G_UNLOCK (quark_global);
+
+   return quark;
+ }
+ 
+@@ -280,6 +286,7 @@
+   GQuark quark;
+   gchar **quarks_new;
+ 
++  g_quark_init ();
+   if (quark_seq_id % QUARK_BLOCK_SIZE == 0)
+     {
+       quarks_new = g_new (gchar*, quark_seq_id + QUARK_BLOCK_SIZE);
diff --git a/pkgs/development/libraries/glibc/2.26-115to131.diff.gz b/pkgs/development/libraries/glibc/2.26-115to131.diff.gz
deleted file mode 100644
index 3d866c567a790..0000000000000
--- a/pkgs/development/libraries/glibc/2.26-115to131.diff.gz
+++ /dev/null
Binary files differdiff --git a/pkgs/development/libraries/glibc/2.26-75.patch.gz b/pkgs/development/libraries/glibc/2.26-75.patch.gz
deleted file mode 100644
index e2a8867e4fff6..0000000000000
--- a/pkgs/development/libraries/glibc/2.26-75.patch.gz
+++ /dev/null
Binary files differdiff --git a/pkgs/development/libraries/glibc/2.26-75to115.diff.gz b/pkgs/development/libraries/glibc/2.26-75to115.diff.gz
deleted file mode 100644
index 9bf1a4f7d39b2..0000000000000
--- a/pkgs/development/libraries/glibc/2.26-75to115.diff.gz
+++ /dev/null
Binary files differdiff --git a/pkgs/development/libraries/glibc/2.27.nix b/pkgs/development/libraries/glibc/2.27.nix
deleted file mode 100644
index bb057ae899e76..0000000000000
--- a/pkgs/development/libraries/glibc/2.27.nix
+++ /dev/null
@@ -1,101 +0,0 @@
-{ stdenv, callPackage
-, withLinuxHeaders ? true
-, installLocales ? true
-, profilingLibraries ? false
-, withGd ? false
-}:
-
-assert stdenv.cc.isGNU;
-
-callPackage ./common-2.27.nix { inherit stdenv; } {
-    name = "glibc" + stdenv.lib.optionalString withGd "-gd";
-
-    inherit withLinuxHeaders profilingLibraries installLocales withGd;
-
-    NIX_NO_SELF_RPATH = true;
-
-    postConfigure = ''
-      # Hack: get rid of the `-static' flag set by the bootstrap stdenv.
-      # This has to be done *after* `configure' because it builds some
-      # test binaries.
-      export NIX_CFLAGS_LINK=
-      export NIX_LDFLAGS_BEFORE=
-
-      export NIX_DONT_SET_RPATH=1
-      unset CFLAGS
-
-      # Apparently --bindir is not respected.
-      makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin")
-    '';
-
-    # The stackprotector and fortify hardening flags are autodetected by glibc
-    # and enabled by default if supported. Setting it for every gcc invocation
-    # does not work.
-    hardeningDisable = [ "stackprotector" "fortify" ];
-
-    # When building glibc from bootstrap-tools, we need libgcc_s at RPATH for
-    # any program we run, because the gcc will have been placed at a new
-    # store path than that determined when built (as a source for the
-    # bootstrap-tools tarball)
-    # Building from a proper gcc staying in the path where it was installed,
-    # libgcc_s will not be at {gcc}/lib, and gcc's libgcc will be found without
-    # any special hack.
-    preInstall = ''
-      if [ -f ${stdenv.cc.cc}/lib/libgcc_s.so.1 ]; then
-          mkdir -p $out/lib
-          cp ${stdenv.cc.cc}/lib/libgcc_s.so.1 $out/lib/libgcc_s.so.1
-          # the .so It used to be a symlink, but now it is a script
-          cp -a ${stdenv.cc.cc}/lib/libgcc_s.so $out/lib/libgcc_s.so
-      fi
-    '';
-
-    postInstall = ''
-      if test -n "$installLocales"; then
-          make -j''${NIX_BUILD_CORES:-1} -l''${NIX_BUILD_CORES:-1} localedata/install-locales
-      fi
-
-      test -f $out/etc/ld.so.cache && rm $out/etc/ld.so.cache
-
-      if test -n "$linuxHeaders"; then
-          # Include the Linux kernel headers in Glibc, except the `scsi'
-          # subdirectory, which Glibc provides itself.
-          (cd $dev/include && \
-           ln -sv $(ls -d $linuxHeaders/include/* | grep -v scsi\$) .)
-      fi
-
-      # Fix for NIXOS-54 (ldd not working on x86_64).  Make a symlink
-      # "lib64" to "lib".
-      if test -n "$is64bit"; then
-          ln -s lib $out/lib64
-      fi
-
-      # Get rid of more unnecessary stuff.
-      rm -rf $out/var $bin/bin/sln
-
-      # For some reason these aren't stripped otherwise and retain reference
-      # to bootstrap-tools; on cross-arm this stripping would break objects.
-      if [ -z "$crossConfig" ]; then
-        for i in "$out"/lib/*.a; do
-            [ "$i" = "$out/lib/libm.a" ] || strip -S "$i"
-        done
-      fi
-
-      # Put libraries for static linking in a separate output.  Note
-      # that libc_nonshared.a and libpthread_nonshared.a are required
-      # for dynamically-linked applications.
-      mkdir -p $static/lib
-      mv $out/lib/*.a $static/lib
-      mv $static/lib/lib*_nonshared.a $out/lib
-      # Some of *.a files are linker scripts where moving broke the paths.
-      sed "/^GROUP/s|$out/lib/lib|$static/lib/lib|g" \
-        -i "$static"/lib/*.a
-
-      # Work around a Nix bug: hard links across outputs cause a build failure.
-      cp $bin/bin/getconf $bin/bin/getconf_
-      mv $bin/bin/getconf_ $bin/bin/getconf
-    '';
-
-    separateDebugInfo = true;
-
-    meta.description = "The GNU C Library";
-  }
diff --git a/pkgs/development/libraries/glibc/common-2.27.nix b/pkgs/development/libraries/glibc/common-2.27.nix
deleted file mode 100644
index 4a5b31245c1c9..0000000000000
--- a/pkgs/development/libraries/glibc/common-2.27.nix
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Build configuration used to build glibc, Info files, and locale
-   information.  */
-
-{ stdenv, lib
-, buildPlatform, hostPlatform
-, buildPackages
-, fetchurl, fetchpatch ? null
-, linuxHeaders ? null
-, gd ? null, libpng ? null
-, bison
-}:
-
-{ name
-, withLinuxHeaders ? false
-, profilingLibraries ? false
-, installLocales ? false
-, withGd ? false
-, meta
-, ...
-} @ args:
-
-let
-  version = "2.27";
-  patchSuffix = "";
-  sha256 = "0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji";
-  cross = if buildPlatform != hostPlatform then hostPlatform else null;
-in
-
-assert withLinuxHeaders -> linuxHeaders != null;
-assert withGd -> gd != null && libpng != null;
-
-stdenv.mkDerivation ({
-  inherit  installLocales;
-  linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
-
-  # The host/target system.
-  crossConfig = if cross != null then cross.config else null;
-
-  inherit (stdenv) is64bit;
-
-  enableParallelBuilding = true;
-
-  patches =
-    [
-      /* Have rpcgen(1) look for cpp(1) in $PATH.  */
-      ./rpcgen-path.patch
-
-      /* Allow NixOS and Nix to handle the locale-archive. */
-      ./nix-locale-archive-2.27.patch
-
-      /* Don't use /etc/ld.so.cache, for non-NixOS systems.  */
-      ./dont-use-system-ld-so-cache-2.27.patch
-
-      /* Don't use /etc/ld.so.preload, but /etc/ld-nix.so.preload.  */
-      ./dont-use-system-ld-so-preload.patch
-
-      /* The command "getconf CS_PATH" returns the default search path
-         "/bin:/usr/bin", which is inappropriate on NixOS machines. This
-         patch extends the search path by "/run/current-system/sw/bin". */
-      ./fix_path_attribute_in_getconf.patch
-
-      /* Allow running with RHEL 6 -like kernels.  The patch adds an exception
-        for glibc to accept 2.6.32 and to tag the ELFs as 2.6.32-compatible
-        (otherwise the loader would refuse libc).
-        Note that glibc will fully work only on their heavily patched kernels
-        and we lose early mismatch detection on 2.6.32.
-
-        On major glibc updates we should check that the patched kernel supports
-        all the required features.  ATM it's verified up to glibc-2.26-131.
-        # HOWTO: check glibc sources for changes in kernel requirements
-        git log -p glibc-2.25.. sysdeps/unix/sysv/linux/x86_64/kernel-features.h sysdeps/unix/sysv/linux/kernel-features.h
-        # get kernel sources (update the URL)
-        mkdir tmp && cd tmp
-        curl http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm | rpm2cpio - | cpio -idmv
-        tar xf linux-*.bz2
-        # check syscall presence, for example
-        less linux-*?/arch/x86/kernel/syscall_table_32.S
-       */
-      ./allow-kernel-2.6.32.patch
-    ]
-    ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
-    ++ lib.optional stdenv.hostPlatform.isMusl
-      (fetchpatch {
-        name = "fix-with-musl.patch";
-        url = "https://sourceware.org/bugzilla/attachment.cgi?id=10151&action=diff&collapsed=&headers=1&format=raw";
-        sha256 = "18kk534k6da5bkbsy1ivbi77iin76lsna168mfcbwv4ik5vpziq2";
-      });
-
-  postPatch =
-    ''
-      # Needed for glibc to build with the gnumake 3.82
-      # http://comments.gmane.org/gmane.linux.lfs.support/31227
-      sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
-
-      # nscd needs libgcc, and we don't want it dynamically linked
-      # because we don't want it to depend on bootstrap-tools libs.
-      echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
-    '';
-
-  configureFlags =
-    [ "-C"
-      "--enable-add-ons"
-      "--enable-obsolete-nsl"
-      "--enable-obsolete-rpc"
-      "--sysconfdir=/etc"
-      "--enable-stackguard-randomization"
-      (if withLinuxHeaders
-       then "--with-headers=${linuxHeaders}/include"
-       else "--without-headers")
-      (if profilingLibraries
-       then "--enable-profile"
-       else "--disable-profile")
-    ] ++ lib.optionals withLinuxHeaders [
-      "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
-    ] ++ lib.optionals (cross != null) [
-      (if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
-    ] ++ lib.optionals (cross != null) [
-      "--with-__thread"
-    ] ++ lib.optionals (cross == null && stdenv.isArm) [
-      "--host=arm-linux-gnueabi"
-      "--build=arm-linux-gnueabi"
-
-      # To avoid linking with -lgcc_s (dynamic link)
-      # so the glibc does not depend on its compiler store path
-      "libc_cv_as_needed=no"
-    ] ++ lib.optional withGd "--with-gd";
-
-  installFlags = [ "sysconfdir=$(out)/etc" ];
-
-  outputs = [ "out" "bin" "dev" "static" ];
-
-  depsBuildBuild = [ buildPackages.stdenv.cc ];
-  nativeBuildInputs = [ bison ];
-  buildInputs = lib.optionals withGd [ gd libpng ];
-
-  # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
-  # prevent a retained dependency on the bootstrap tools in the stdenv-linux
-  # bootstrap.
-  BASH_SHELL = "/bin/sh";
-}
-
-// (removeAttrs args [ "withLinuxHeaders" "withGd" ]) //
-
-{
-  name = name + "-${version}${patchSuffix}";
-
-  src = fetchurl {
-    url = "mirror://gnu/glibc/glibc-${version}.tar.xz";
-    inherit sha256;
-  };
-
-  # Remove absolute paths from `configure' & co.; build out-of-tree.
-  preConfigure = ''
-    export PWD_P=$(type -tP pwd)
-    for i in configure io/ftwtest-sh; do
-        # Can't use substituteInPlace here because replace hasn't been
-        # built yet in the bootstrap.
-        sed -i "$i" -e "s^/bin/pwd^$PWD_P^g"
-    done
-
-    mkdir ../build
-    cd ../build
-
-    configureScript="`pwd`/../$sourceRoot/configure"
-
-    ${lib.optionalString (stdenv.cc.libc != null)
-      ''makeFlags="$makeFlags BUILD_LDFLAGS=-Wl,-rpath,${stdenv.cc.libc}/lib"''
-    }
-
-
-  '' + lib.optionalString (cross != null) ''
-    sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
-
-    cat > config.cache << "EOF"
-    libc_cv_forced_unwind=yes
-    libc_cv_c_cleanup=yes
-    libc_cv_gnu89_inline=yes
-    EOF
-  '';
-
-  preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
-
-  meta = {
-    homepage = http://www.gnu.org/software/libc/;
-    description = "The GNU C Library";
-
-    longDescription =
-      '' Any Unix-like operating system needs a C library: the library which
-         defines the "system calls" and other basic facilities such as
-         open, malloc, printf, exit...
-
-         The GNU C library is used as the C library in the GNU system and
-         most systems with the Linux kernel.
-      '';
-
-    license = lib.licenses.lgpl2Plus;
-
-    maintainers = [ lib.maintainers.eelco ];
-    platforms = lib.platforms.linux;
-  } // meta;
-
-  passthru = { inherit version; };
-}
-
-// lib.optionalAttrs (cross != null) {
-  preInstall = null; # clobber the native hook
-
-  dontStrip = true;
-
-  separateDebugInfo = false; # this is currently broken for crossDrv
-
-  # To avoid a dependency on the build system 'bash'.
-  preFixup = ''
-    rm -f $bin/bin/{ldd,tzselect,catchsegv,xtrace}
-  '';
-})
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index c8e5b45628569..8b4a213aae051 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -1,12 +1,29 @@
 /* Build configuration used to build glibc, Info files, and locale
-   information.  */
+   information.
+
+   Note that this derivation has multiple outputs and does not respect the
+   standard convention of putting the executables into the first output. The
+   first output is `lib` so that the libraries provided by this derivation
+   can be accessed directly, e.g.
+
+     "${pkgs.glibc}/lib/ld-linux-x86_64.so.2"
+
+   The executables are put into `bin` output and need to be referenced via
+   the `bin` attribute of the main package, e.g.
+
+     "${pkgs.glibc.bin}/bin/ldd".
+
+  The executables provided by glibc typically include `ldd`, `locale`, `iconv`
+  but the exact set depends on the library version and the configuration.
+*/
 
 { stdenv, lib
 , buildPlatform, hostPlatform
 , buildPackages
-, fetchurl, fetchpatch ? null
+, fetchurl ? null
 , linuxHeaders ? null
 , gd ? null, libpng ? null
+, bison
 }:
 
 { name
@@ -19,39 +36,24 @@
 } @ args:
 
 let
-  version = "2.26";
-  patchSuffix = "-131";
-  sha256 = "1ggnj1hzjym7sn93rbwydcqd562q73lsb7g7kd199g6j9j9hlkp5";
-  cross = if buildPlatform != hostPlatform then hostPlatform else null;
+  version = "2.27";
+  patchSuffix = "";
+  sha256 = "0wpwq7gsm7sd6ysidv0z575ckqdg13cr2njyfgrbgh4f65adwwji";
 in
 
 assert withLinuxHeaders -> linuxHeaders != null;
 assert withGd -> gd != null && libpng != null;
 
 stdenv.mkDerivation ({
-  inherit  installLocales;
+  inherit version installLocales;
   linuxHeaders = if withLinuxHeaders then linuxHeaders else null;
 
-  # The host/target system.
-  crossConfig = if cross != null then cross.config else null;
-
   inherit (stdenv) is64bit;
 
   enableParallelBuilding = true;
 
   patches =
     [
-      /*  No tarballs for stable upstream branch, only https://sourceware.org/git/?p=glibc.git
-          $ git co release/2.25/master; git describe
-          glibc-2.25-49-gbc5ace67fe
-          $ git show --reverse glibc-2.25..release/2.25/master | gzip -n -9 --rsyncable - > 2.25-49.patch.gz
-      */
-      ./2.26-75.patch.gz
-      ./2.26-75to115.diff.gz
-      # contains fix for CVE-2018-1000001 as the last commit:
-      # https://sourceware.org/git/?p=glibc.git;a=commit;h=fabef2edbc
-      ./2.26-115to131.diff.gz
-
       /* Have rpcgen(1) look for cpp(1) in $PATH.  */
       ./rpcgen-path.patch
 
@@ -89,32 +91,17 @@ stdenv.mkDerivation ({
       ./allow-kernel-2.6.32.patch
     ]
     ++ lib.optional stdenv.isx86_64 ./fix-x64-abi.patch
-    ++ lib.optional stdenv.hostPlatform.isMusl
-      (fetchpatch {
-        name = "fix-with-musl.patch";
-        url = "https://sourceware.org/bugzilla/attachment.cgi?id=10151&action=diff&collapsed=&headers=1&format=raw";
-        sha256 = "18kk534k6da5bkbsy1ivbi77iin76lsna168mfcbwv4ik5vpziq2";
-      });
+    ++ lib.optional stdenv.hostPlatform.isMusl ./fix-rpc-types-musl-conflicts.patch;
 
   postPatch =
-    # Needed for glibc to build with the gnumake 3.82
-    # http://comments.gmane.org/gmane.linux.lfs.support/31227
     ''
+      # Needed for glibc to build with the gnumake 3.82
+      # http://comments.gmane.org/gmane.linux.lfs.support/31227
       sed -i 's/ot \$/ot:\n\ttouch $@\n$/' manual/Makefile
-    ''
-    # nscd needs libgcc, and we don't want it dynamically linked
-    # because we don't want it to depend on bootstrap-tools libs.
-    + ''
+
+      # nscd needs libgcc, and we don't want it dynamically linked
+      # because we don't want it to depend on bootstrap-tools libs.
       echo "LDFLAGS-nscd += -static-libgcc" >> nscd/Makefile
-    ''
-    # Replace the date and time in nscd by a prefix of $out.
-    # It is used as a protocol compatibility check.
-    # Note: the size of the struct changes, but using only a part
-    # would break hash-rewriting. When receiving stats it does check
-    # that the struct sizes match and can't cause overflow or something.
-    + ''
-      cat ${./glibc-remove-datetime-from-nscd.patch} \
-        | sed "s,@out@,$out," | patch -p1
     '';
 
   configureFlags =
@@ -132,11 +119,12 @@ stdenv.mkDerivation ({
        else "--disable-profile")
     ] ++ lib.optionals withLinuxHeaders [
       "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
-    ] ++ lib.optionals (cross != null) [
-      (if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
-    ] ++ lib.optionals (cross != null) [
+    ] ++ lib.optionals (hostPlatform != buildPlatform) [
+      (if hostPlatform.platform.gcc.float or (hostPlatform.parsed.abi.float or "hard") == "soft"
+       then "--without-fp"
+       else "--with-fp")
       "--with-__thread"
-    ] ++ lib.optionals (cross == null && stdenv.isArm) [
+    ] ++ lib.optionals (hostPlatform == buildPlatform && hostPlatform.isAarch32) [
       "--host=arm-linux-gnueabi"
       "--build=arm-linux-gnueabi"
 
@@ -150,6 +138,7 @@ stdenv.mkDerivation ({
   outputs = [ "out" "bin" "dev" "static" ];
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
+  nativeBuildInputs = [ bison ];
   buildInputs = lib.optionals withGd [ gd libpng ];
 
   # Needed to install share/zoneinfo/zone.tab.  Set to impure /bin/sh to
@@ -187,7 +176,7 @@ stdenv.mkDerivation ({
     }
 
 
-  '' + lib.optionalString (cross != null) ''
+  '' + lib.optionalString (hostPlatform != buildPlatform) ''
     sed -i s/-lgcc_eh//g "../$sourceRoot/Makeconfig"
 
     cat > config.cache << "EOF"
@@ -199,6 +188,8 @@ stdenv.mkDerivation ({
 
   preBuild = lib.optionalString withGd "unset NIX_DONT_SET_RPATH";
 
+  doCheck = false; # fails
+
   meta = {
     homepage = http://www.gnu.org/software/libc/;
     description = "The GNU C Library";
@@ -219,7 +210,7 @@ stdenv.mkDerivation ({
   } // meta;
 }
 
-// lib.optionalAttrs (cross != null) {
+// lib.optionalAttrs (hostPlatform != buildPlatform) {
   preInstall = null; # clobber the native hook
 
   dontStrip = true;
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 976dbcde47ff9..ea443ce9a246a 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -71,14 +71,15 @@ callPackage ./common.nix { inherit stdenv; } {
 
       # Get rid of more unnecessary stuff.
       rm -rf $out/var $bin/bin/sln
-
+    ''
       # For some reason these aren't stripped otherwise and retain reference
       # to bootstrap-tools; on cross-arm this stripping would break objects.
-      if [ -z "$crossConfig" ]; then
-        for i in "$out"/lib/*.a; do
-            [ "$i" = "$out/lib/libm.a" ] || strip -S "$i"
-        done
-      fi
+    + stdenv.lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
+
+      for i in "$out"/lib/*.a; do
+          [ "$i" = "$out/lib/libm.a" ] || $STRIP -S "$i"
+      done
+    '' + ''
 
       # Put libraries for static linking in a separate output.  Note
       # that libc_nonshared.a and libpthread_nonshared.a are required
diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch
deleted file mode 100644
index f84b1049adf84..0000000000000
--- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache-2.27.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff -Naur glibc-2.27-orig/elf/ldconfig.c glibc-2.27/elf/ldconfig.c
---- glibc-2.27-orig/elf/ldconfig.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/elf/ldconfig.c	2018-02-17 22:43:17.232175182 -0500
-@@ -51,7 +51,7 @@
- #endif
- 
- #ifndef LD_SO_CONF
--# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
-+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
- #endif
- 
- /* Get libc version number.  */
-diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
---- glibc-2.27-orig/elf/Makefile	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/elf/Makefile	2018-02-17 22:44:50.334006750 -0500
-@@ -559,13 +559,13 @@
- 
- $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
- 
--SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
--CFLAGS-ldconfig.c += $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
-+PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
-+CFLAGS-ldconfig.c += $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
- 		    -D'SLIBDIR="$(slibdir)"'
- libof-ldconfig = ldconfig
--CFLAGS-dl-cache.c += $(SYSCONF-FLAGS)
--CFLAGS-cache.c += $(SYSCONF-FLAGS)
--CFLAGS-rtld.c += $(SYSCONF-FLAGS)
-+CFLAGS-dl-cache.c += $(PREFIX-FLAGS)
-+CFLAGS-cache.c += $(PREFIX-FLAGS)
-+CFLAGS-rtld.c += $(PREFIX-FLAGS)
- 
- cpp-srcs-left := $(all-rtld-routines:=.os)
- lib := rtld
-diff -Naur glibc-2.27-orig/sysdeps/generic/dl-cache.h glibc-2.27/sysdeps/generic/dl-cache.h
---- glibc-2.27-orig/sysdeps/generic/dl-cache.h	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/sysdeps/generic/dl-cache.h	2018-02-17 22:45:20.471598816 -0500
-@@ -28,7 +28,7 @@
- #endif
- 
- #ifndef LD_SO_CACHE
--# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
-+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache"
- #endif
- 
- #ifndef add_system_dir
diff --git a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
index fc14553c3ee07..f84b1049adf84 100644
--- a/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
+++ b/pkgs/development/libraries/glibc/dont-use-system-ld-so-cache.patch
@@ -1,7 +1,7 @@
-diff -ru glibc-2.16.0-orig/elf/ldconfig.c glibc-2.16.0/elf/ldconfig.c
---- glibc-2.16.0-orig/elf/ldconfig.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/elf/ldconfig.c	2012-09-18 11:59:27.463284814 -0400
-@@ -50,7 +50,7 @@
+diff -Naur glibc-2.27-orig/elf/ldconfig.c glibc-2.27/elf/ldconfig.c
+--- glibc-2.27-orig/elf/ldconfig.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/elf/ldconfig.c	2018-02-17 22:43:17.232175182 -0500
+@@ -51,7 +51,7 @@
  #endif
  
  #ifndef LD_SO_CONF
@@ -10,31 +10,31 @@ diff -ru glibc-2.16.0-orig/elf/ldconfig.c glibc-2.16.0/elf/ldconfig.c
  #endif
  
  /* Get libc version number.  */
-diff -ru glibc-2.16.0-orig/elf/Makefile glibc-2.16.0/elf/Makefile
---- glibc-2.16.0-orig/elf/Makefile	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/elf/Makefile	2012-09-18 12:03:30.031955196 -0400
-@@ -415,12 +415,12 @@
+diff -Naur glibc-2.27-orig/elf/Makefile glibc-2.27/elf/Makefile
+--- glibc-2.27-orig/elf/Makefile	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/elf/Makefile	2018-02-17 22:44:50.334006750 -0500
+@@ -559,13 +559,13 @@
  
  $(objpfx)ldconfig: $(ldconfig-modules:%=$(objpfx)%.o)
  
 -SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
--CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
+-CFLAGS-ldconfig.c += $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
 +PREFIX-FLAGS := -D'PREFIX="$(prefix)"'
-+CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
++CFLAGS-ldconfig.c += $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
  		    -D'SLIBDIR="$(slibdir)"'
  libof-ldconfig = ldconfig
--CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
--CFLAGS-cache.c = $(SYSCONF-FLAGS)
--CFLAGS-rtld.c = $(SYSCONF-FLAGS)
-+CFLAGS-dl-cache.c = $(PREFIX-FLAGS)
-+CFLAGS-cache.c = $(PREFIX-FLAGS)
-+CFLAGS-rtld.c = $(PREFIX-FLAGS)
+-CFLAGS-dl-cache.c += $(SYSCONF-FLAGS)
+-CFLAGS-cache.c += $(SYSCONF-FLAGS)
+-CFLAGS-rtld.c += $(SYSCONF-FLAGS)
++CFLAGS-dl-cache.c += $(PREFIX-FLAGS)
++CFLAGS-cache.c += $(PREFIX-FLAGS)
++CFLAGS-rtld.c += $(PREFIX-FLAGS)
  
  cpp-srcs-left := $(all-rtld-routines:=.os)
  lib := rtld
-diff -ru glibc-2.16.0-orig/sysdeps/generic/dl-cache.h glibc-2.16.0/sysdeps/generic/dl-cache.h
---- glibc-2.16.0-orig/sysdeps/generic/dl-cache.h	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/sysdeps/generic/dl-cache.h	2012-09-18 11:59:27.465284809 -0400
+diff -Naur glibc-2.27-orig/sysdeps/generic/dl-cache.h glibc-2.27/sysdeps/generic/dl-cache.h
+--- glibc-2.27-orig/sysdeps/generic/dl-cache.h	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/sysdeps/generic/dl-cache.h	2018-02-17 22:45:20.471598816 -0500
 @@ -28,7 +28,7 @@
  #endif
  
diff --git a/pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch b/pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch
new file mode 100644
index 0000000000000..19f8bfc7cce81
--- /dev/null
+++ b/pkgs/development/libraries/glibc/fix-rpc-types-musl-conflicts.patch
@@ -0,0 +1,38 @@
+@@ -, +, @@ 
+---
+ sunrpc/rpc/types.h | 22 ++++++----------------
+ 1 file changed, 6 insertions(+), 16 deletions(-)
+--- a/sunrpc/rpc/types.h	
++++ a/sunrpc/rpc/types.h	
+@@ -69,24 +69,14 @@ typedef unsigned long rpcport_t;
+ #include <sys/types.h>
+ #endif
+ 
+-#if defined __APPLE_CC__ || defined __FreeBSD__
+-# define __u_char_defined
+-# define __daddr_t_defined
+-#endif
+-
+-#ifndef __u_char_defined
+-typedef __u_char u_char;
+-typedef __u_short u_short;
+-typedef __u_int u_int;
+-typedef __u_long u_long;
+-typedef __quad_t quad_t;
+-typedef __u_quad_t u_quad_t;
+-typedef __fsid_t fsid_t;
++/* IMPORTANT NOTE: This has been modified to build against the musl C
++ * library and it probably now ONLY builds with the musl C library.
++ *
++ * See: https://sourceware.org/bugzilla/show_bug.cgi?id=21604
++ */
+ # define __u_char_defined
+-#endif
+ #ifndef __daddr_t_defined
+-typedef __daddr_t daddr_t;
+-typedef __caddr_t caddr_t;
++typedef int daddr_t;
+ # define __daddr_t_defined
+ #endif
+ 
+-- 
diff --git a/pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch b/pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch
deleted file mode 100644
index 39312951fcf91..0000000000000
--- a/pkgs/development/libraries/glibc/nix-locale-archive-2.27.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
---- glibc-2.27-orig/locale/loadarchive.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/loadarchive.c	2018-02-17 22:32:25.680169462 -0500
-@@ -123,6 +123,23 @@
-   return MAX (namehash_end, MAX (string_end, locrectab_end));
- }
- 
-+static int
-+open_locale_archive (void)
-+{
-+  int fd = -1;
-+  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
-+  char *path = getenv ("LOCALE_ARCHIVE");
-+  if (versioned_path)
-+    fd = __open_nocancel (versioned_path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (path && fd < 0)
-+    fd = __open_nocancel (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (fd < 0)
-+    fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (fd < 0)
-+    fd = __open_nocancel ("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  return fd;
-+}
-+
- 
- /* Find the locale *NAMEP in the locale archive, and return the
-    internalized data structure for its CATEGORY data.  If this locale has
-@@ -202,7 +219,7 @@
-       archmapped = &headmap;
- 
-       /* The archive has never been opened.  */
--      fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+      fd = open_locale_archive ();
-       if (fd < 0)
- 	/* Cannot open the archive, for whatever reason.  */
- 	return NULL;
-@@ -397,8 +414,7 @@
- 	  if (fd == -1)
- 	    {
- 	      struct stat64 st;
--	      fd = __open_nocancel (archfname,
--				    O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+	      fd = open_locale_archive ();
- 	      if (fd == -1)
- 		/* Cannot open the archive, for whatever reason.  */
- 		return NULL;
-diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
---- glibc-2.27-orig/locale/programs/locale.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/programs/locale.c	2018-02-17 22:36:39.726293213 -0500
-@@ -633,6 +633,24 @@
- 
- 
- static int
-+open_locale_archive (void)
-+{
-+  int fd = -1;
-+  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
-+  char *path = getenv ("LOCALE_ARCHIVE");
-+  if (versioned_path)
-+    fd = open64 (versioned_path, O_RDONLY);
-+  if (path && fd < 0)
-+    fd = open64 (path, O_RDONLY);
-+  if (fd < 0)
-+    fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  if (fd < 0)
-+    fd = open64 ("/usr/lib/locale/locale-archive", O_RDONLY);
-+  return fd;
-+}
-+
-+
-+static int
- write_archive_locales (void **all_datap, char *linebuf)
- {
-   struct stat64 st;
-@@ -644,7 +662,7 @@
-   int fd, ret = 0;
-   uint32_t cnt;
- 
--  fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  fd = open_locale_archive ();
-   if (fd < 0)
-     return 0;
- 
-diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
---- glibc-2.27-orig/locale/programs/locarchive.c	2018-02-01 11:17:18.000000000 -0500
-+++ glibc-2.27/locale/programs/locarchive.c	2018-02-17 22:40:51.245293975 -0500
-@@ -117,6 +117,22 @@
- }
- 
- 
-+static int
-+open_locale_archive (const char * archivefname, int flags)
-+{
-+  int fd = -1;
-+  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
-+  char *path = getenv ("LOCALE_ARCHIVE");
-+  if (versioned_path)
-+    fd = open64 (versioned_path, flags);
-+  if (path && fd < 0)
-+    fd = open64 (path, flags);
-+  if (fd < 0)
-+    fd = open64 (archivefname, flags);
-+  return fd;
-+}
-+
-+
- static void
- create_archive (const char *archivefname, struct locarhandle *ah)
- {
-@@ -578,7 +594,7 @@
-   while (1)
-     {
-       /* Open the archive.  We must have exclusive write access.  */
--      fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR);
-+      fd = open_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
-       if (fd == -1)
- 	{
- 	  /* Maybe the file does not yet exist? If we are opening
diff --git a/pkgs/development/libraries/glibc/nix-locale-archive.patch b/pkgs/development/libraries/glibc/nix-locale-archive.patch
index eeaf21901a39b..39312951fcf91 100644
--- a/pkgs/development/libraries/glibc/nix-locale-archive.patch
+++ b/pkgs/development/libraries/glibc/nix-locale-archive.patch
@@ -1,114 +1,118 @@
-diff -ru glibc-2.16.0-orig/locale/loadarchive.c glibc-2.16.0/locale/loadarchive.c
---- glibc-2.16.0-orig/locale/loadarchive.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/locale/loadarchive.c	2012-09-18 11:57:57.277515212 -0400
-@@ -123,6 +123,25 @@
+diff -Naur glibc-2.27-orig/locale/loadarchive.c glibc-2.27/locale/loadarchive.c
+--- glibc-2.27-orig/locale/loadarchive.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/locale/loadarchive.c	2018-02-17 22:32:25.680169462 -0500
+@@ -123,6 +123,23 @@
+   return MAX (namehash_end, MAX (string_end, locrectab_end));
  }
  
- 
 +static int
 +open_locale_archive (void)
 +{
 +  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  const char *usualpath = "/usr/lib/locale/locale-archive";
-+  if (path)
-+    fd = open_not_cancel_2 (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
-+  if (path2 && fd < 0)
-+    fd = open_not_cancel_2 (path2, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
++  char *path = getenv ("LOCALE_ARCHIVE");
++  if (versioned_path)
++    fd = __open_nocancel (versioned_path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++  if (path && fd < 0)
++    fd = __open_nocancel (path, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +  if (fd < 0)
-+    fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++    fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +  if (fd < 0)
-+    fd = open_not_cancel_2 (usualpath, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
++    fd = __open_nocancel ("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +  return fd;
 +}
 +
-+
+ 
  /* Find the locale *NAMEP in the locale archive, and return the
     internalized data structure for its CATEGORY data.  If this locale has
-    already been loaded from the archive, just returns the existing data
-@@ -202,7 +221,7 @@
+@@ -202,7 +219,7 @@
        archmapped = &headmap;
  
        /* The archive has never been opened.  */
--      fd = open_not_cancel_2 (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+-      fd = __open_nocancel (archfname, O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +      fd = open_locale_archive ();
        if (fd < 0)
  	/* Cannot open the archive, for whatever reason.  */
  	return NULL;
-@@ -393,8 +412,7 @@
+@@ -397,8 +414,7 @@
  	  if (fd == -1)
  	    {
  	      struct stat64 st;
--	      fd = open_not_cancel_2 (archfname,
--				      O_RDONLY|O_LARGEFILE|O_CLOEXEC);
+-	      fd = __open_nocancel (archfname,
+-				    O_RDONLY|O_LARGEFILE|O_CLOEXEC);
 +	      fd = open_locale_archive ();
  	      if (fd == -1)
  		/* Cannot open the archive, for whatever reason.  */
  		return NULL;
-diff -ru glibc-2.16.0-orig/locale/programs/locale.c glibc-2.16.0/locale/programs/locale.c
---- glibc-2.16.0-orig/locale/programs/locale.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/locale/programs/locale.c	2012-09-18 11:53:03.719920947 -0400
-@@ -628,6 +628,20 @@
- 		  ((const struct nameent *) b)->name);
- }
+diff -Naur glibc-2.27-orig/locale/programs/locale.c glibc-2.27/locale/programs/locale.c
+--- glibc-2.27-orig/locale/programs/locale.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/locale/programs/locale.c	2018-02-17 22:36:39.726293213 -0500
+@@ -633,6 +633,24 @@
  
-+static int
-+open_nix_locale_archive (const char * fname, int access)
+ 
+ static int
++open_locale_archive (void)
 +{
 +  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  if (path)
-+    fd = open64 (path, access);
-+  if (path2 && fd < 0)
-+    fd = open64 (path2, access);
++  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
++  char *path = getenv ("LOCALE_ARCHIVE");
++  if (versioned_path)
++    fd = open64 (versioned_path, O_RDONLY);
++  if (path && fd < 0)
++    fd = open64 (path, O_RDONLY);
++  if (fd < 0)
++    fd = open64 (ARCHIVE_NAME, O_RDONLY);
 +  if (fd < 0)
-+    fd = open64 (fname, access);
++    fd = open64 ("/usr/lib/locale/locale-archive", O_RDONLY);
 +  return fd;
 +}
- 
- static int
++
++
++static int
  write_archive_locales (void **all_datap, char *linebuf)
-@@ -641,7 +655,7 @@
+ {
+   struct stat64 st;
+@@ -644,7 +662,7 @@
    int fd, ret = 0;
    uint32_t cnt;
  
 -  fd = open64 (ARCHIVE_NAME, O_RDONLY);
-+  fd = open_nix_locale_archive (ARCHIVE_NAME, O_RDONLY);
++  fd = open_locale_archive ();
    if (fd < 0)
      return 0;
  
-diff -ru glibc-2.16.0-orig/locale/programs/locarchive.c glibc-2.16.0/locale/programs/locarchive.c
---- glibc-2.16.0-orig/locale/programs/locarchive.c	2012-06-30 15:12:34.000000000 -0400
-+++ glibc-2.16.0/locale/programs/locarchive.c	2012-09-18 11:53:03.720920942 -0400
-@@ -509,6 +509,20 @@
-   *ah = new_ah;
+diff -Naur glibc-2.27-orig/locale/programs/locarchive.c glibc-2.27/locale/programs/locarchive.c
+--- glibc-2.27-orig/locale/programs/locarchive.c	2018-02-01 11:17:18.000000000 -0500
++++ glibc-2.27/locale/programs/locarchive.c	2018-02-17 22:40:51.245293975 -0500
+@@ -117,6 +117,22 @@
  }
  
+ 
 +static int
-+open_nix_locale_archive (const char * fname, int access)
++open_locale_archive (const char * archivefname, int flags)
 +{
 +  int fd = -1;
-+  char *path = getenv ("LOCALE_ARCHIVE_2_11");
-+  char *path2 = getenv ("LOCALE_ARCHIVE");
-+  if (path)
-+    fd = open64 (path, access);
-+  if (path2 && fd < 0)
-+    fd = open64 (path2, access);
++  char *versioned_path = getenv ("LOCALE_ARCHIVE_2_27");
++  char *path = getenv ("LOCALE_ARCHIVE");
++  if (versioned_path)
++    fd = open64 (versioned_path, flags);
++  if (path && fd < 0)
++    fd = open64 (path, flags);
 +  if (fd < 0)
-+    fd = open64 (fname, access);
++    fd = open64 (archivefname, flags);
 +  return fd;
 +}
- 
- void
- open_archive (struct locarhandle *ah, bool readonly)
-@@ -528,7 +542,7 @@
++
++
+ static void
+ create_archive (const char *archivefname, struct locarhandle *ah)
+ {
+@@ -578,7 +594,7 @@
    while (1)
      {
        /* Open the archive.  We must have exclusive write access.  */
 -      fd = open64 (archivefname, readonly ? O_RDONLY : O_RDWR);
-+      fd = open_nix_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
++      fd = open_locale_archive (archivefname, readonly ? O_RDONLY : O_RDWR);
        if (fd == -1)
  	{
- 	  /* Maybe the file does not yet exist.  */
+ 	  /* Maybe the file does not yet exist? If we are opening
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index a3af96d51edcd..ee77f4b498e41 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -1,24 +1,33 @@
-{ stdenv, fetchurl, pkgconfig, gnum4, glib, libsigcxx }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, gnum4, glib, libsigcxx }:
 
 let
-  ver_maj = "2.54";
-  ver_min = "1";
+  ver_maj = "2.56";
+  ver_min = "0";
 in
 stdenv.mkDerivation rec {
   name = "glibmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw";
+    sha256 = "1abrkqhca5p8n6ly3vp1232rny03s7lrd8f8iz2m2m141nxgqx3f";
   };
 
   outputs = [ "out" "dev" ];
 
+  patchFlags = "-p0";
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/e864b2340be9ef003d8ff4aef92e7151d06287dd/devel/glibmm/files/0001-ustring-Fix-wchar-conversion-on-macOS-with-libc.patch";
+      sha256 = "02qvnailw1i59cjbj3cy7y02kfcivsvkdjrf4njkp4plarayyqp9";
+    })
+  ];
+
   nativeBuildInputs = [ pkgconfig gnum4 ];
   propagatedBuildInputs = [ glib libsigcxx ];
 
   enableParallelBuilding = true;
-  #doCheck = true; # some tests need network
+
+  doCheck = false; # fails. one test needs the net, another /etc/fstab
 
   meta = with stdenv.lib; {
     description = "C++ interface to the GLib library";
diff --git a/pkgs/development/libraries/globalarrays/default.nix b/pkgs/development/libraries/globalarrays/default.nix
new file mode 100644
index 0000000000000..2da5474eb9d19
--- /dev/null
+++ b/pkgs/development/libraries/globalarrays/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, pkgs, fetchFromGitHub, automake, autoconf, libtool
+, openblas, gfortran, openssh, openmpi
+} :
+
+let
+  version = "5.7";
+
+in stdenv.mkDerivation {
+  name = "globalarrays-${version}";
+
+  src = fetchFromGitHub {
+    owner = "GlobalArrays";
+    repo = "ga";
+    rev = "v${version}";
+    sha256 = "07i2idaas7pq3in5mdqq5ndvxln5q87nyfgk3vzw85r72c4fq5jh";
+  };
+
+  nativeBuildInputs = [ automake autoconf libtool ];
+  buildInputs = [ openmpi openblas gfortran openssh ];
+
+  preConfigure = ''
+    autoreconf -ivf
+    configureFlagsArray+=( "--enable-i8" \
+                           "--with-mpi" \
+                           "--with-mpi3" \
+                           "--enable-eispack" \
+                           "--enable-underscoring" \
+                           "--with-blas8=${openblas}/lib -lopenblas" )
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Global Arrays Programming Models";
+    homepage = http://hpc.pnl.gov/globalarrays/;
+    maintainers = [ maintainers.markuskowa ];
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+  };
+}
+
+
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
index 93e94fc8c42bb..b030eab7c3ad7 100644
--- a/pkgs/development/libraries/glog/default.nix
+++ b/pkgs/development/libraries/glog/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook }:
+{ stdenv, fetchFromGitHub, autoreconfHook, perl }:
 
 stdenv.mkDerivation rec {
   name = "glog-${version}";
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
+  checkInputs = [ perl ];
+  doCheck = false; # fails with "Mangled symbols (28 out of 380) found in demangle.dm"
+
   meta = with stdenv.lib; {
     homepage = https://github.com/google/glog;
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/gloox/default.nix b/pkgs/development/libraries/gloox/default.nix
index 9ce47ec2f1a2d..eeeff731a6e3a 100644
--- a/pkgs/development/libraries/gloox/default.nix
+++ b/pkgs/development/libraries/gloox/default.nix
@@ -11,14 +11,14 @@ assert idnSupport -> libidn != null;
 with stdenv.lib;
 
 let
-  version = "1.0.20";
+  version = "1.0.21";
 in
 stdenv.mkDerivation rec {
   name = "gloox-${version}";
 
   src = fetchurl {
-    url = "http://camaya.net/download/gloox-${version}.tar.bz2";
-    sha256 = "1a6yhs42wcdm8az3983m3lx4d9296bw0amz5v3b4012g1xn0hhq2";
+    url = "https://camaya.net/download/gloox-${version}.tar.bz2";
+    sha256 = "1k57qgif1yii515m6jaqaibkdysfab6394bpawd2l67321f1a4rw";
   };
 
   buildInputs = [ ]
diff --git a/pkgs/development/libraries/glpk/default.nix b/pkgs/development/libraries/glpk/default.nix
index b9634e01900e5..481ae32bdc610 100644
--- a/pkgs/development/libraries/glpk/default.nix
+++ b/pkgs/development/libraries/glpk/default.nix
@@ -1,13 +1,52 @@
-{ fetchurl, stdenv }:
+{ stdenv
+, fetchurl
+, fetchpatch
+# Excerpt from glpk's INSTALL file:
+# This feature allows the exact simplex solver to use the GNU MP
+# bignum library. If it is disabled, the exact simplex solver uses the
+# GLPK bignum module, which provides the same functionality as GNU MP,
+# however, it is much less efficient.
+, withGmp ? true
+, gmp
+}:
+
+assert withGmp -> gmp != null;
 
 stdenv.mkDerivation rec {
-  name = "glpk-4.65";
+  version = "4.65";
+  name = "glpk-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/glpk/${name}.tar.gz";
     sha256 = "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2";
   };
 
+  buildInputs = stdenv.lib.optionals withGmp [
+    gmp
+  ];
+
+  configureFlags = stdenv.lib.optionals withGmp [
+    "--with-gmp"
+  ];
+
+  patches = [
+    # GLPK makes it possible to customize its message printing behaviour. Sage
+    # does that and needs to differentiate between printing regular messages and
+    # printing errors. Unfortunately there is no way to tell and glpk upstream
+    # rejected this patch. All it does is set the variable pointing to the error
+    # file back to NULL before glpk calls abort(). In sage's case, abort won't
+    # actually be called because the error handler jumps out of the function.
+    # This shouldn't affect everybody else, since glpk just calls abort()
+    # immediately afterwards anyways.
+    # See the sage trac ticket for more details:
+    # https://trac.sagemath.org/ticket/20710#comment:18
+    (fetchpatch {
+      name = "error_recovery.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/glpk/patches/error_recovery.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0z99z9gd31apb6x5n5n26411qzx0ma3s6dnznc4x61x86bhq31qf";
+    })
+  ];
+
   doCheck = true;
 
   meta = {
@@ -23,7 +62,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/glpk/;
     license = stdenv.lib.licenses.gpl3Plus;
 
-    maintainers = [ stdenv.lib.maintainers.bjg ];
+    maintainers = with stdenv.lib.maintainers; [ bjg timokau ];
     platforms = stdenv.lib.platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/gmime/2.nix b/pkgs/development/libraries/gmime/2.nix
index 7d5eeb29997b1..b25f5c90bfaec 100644
--- a/pkgs/development/libraries/gmime/2.nix
+++ b/pkgs/development/libraries/gmime/2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, zlib, libgpgerror, gobjectIntrospection }:
+{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, libgpgerror, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
   version = "2.6.23";
@@ -15,6 +15,17 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib zlib libgpgerror ];
   configureFlags = [ "--enable-introspection=yes" ];
 
+  postPatch = ''
+    substituteInPlace tests/testsuite.c \
+      --replace /bin/rm rm \
+      --replace /bin/mkdir mkdir
+
+    substituteInPlace tests/test-pkcs7.c \
+      --replace /bin/mkdir mkdir
+  '';
+
+  checkInputs = [ gnupg ];
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/gmime/3.nix b/pkgs/development/libraries/gmime/3.nix
index 66d0cf88bd026..65c99610a5c73 100644
--- a/pkgs/development/libraries/gmime/3.nix
+++ b/pkgs/development/libraries/gmime/3.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, pkgconfig, glib, zlib, gpgme, libidn, gobjectIntrospection }:
+{ stdenv, fetchurl, pkgconfig, glib, zlib, gnupg, gpgme, libidn, gobjectIntrospection }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.5";
+  version = "3.2.0";
   name = "gmime-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/gmime/3.0/${name}.tar.xz";
-    sha256 = "1q45gd1ahnz9q1milc2lqqwl7j3q0wd6kiswhp25iak222n56lrg";
+    url = "mirror://gnome/sources/gmime/3.2/${name}.tar.xz";
+    sha256 = "1q6palbpf6lh6bvy9ly26q5apl5k0z0r4mvl6zzqh90rz4rn1v3m";
   };
 
   outputs = [ "out" "dev" ];
@@ -16,6 +16,13 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib ];
   configureFlags = [ "--enable-introspection=yes" ];
 
+  postPatch = ''
+    substituteInPlace tests/testsuite.c \
+      --replace /bin/rm rm
+  '';
+
+  checkInputs = [ gnupg ];
+
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix
index 36067cc0786df..939f769b45705 100644
--- a/pkgs/development/libraries/gmp/4.3.2.nix
+++ b/pkgs/development/libraries/gmp/4.3.2.nix
@@ -27,8 +27,12 @@ let self = stdenv.mkDerivation rec {
     then "ln -sf configfsf.guess config.guess"
     else ''echo "Darwin host is `./config.guess`."'';
 
-  configureFlags = (if cxx then "--enable-cxx" else "--disable-cxx") +
-    stdenv.lib.optionalString stdenv.isDarwin " ac_cv_build=x86_64-apple-darwin13.4.0 ac_cv_host=x86_64-apple-darwin13.4.0";
+  configureFlags = [
+    (stdenv.lib.enableFeature cxx "cxx")
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    "ac_cv_build=x86_64-apple-darwin13.4.0"
+    "ac_cv_host=x86_64-apple-darwin13.4.0"
+  ];
 
   # The test t-lucnum_ui fails (on Linux/x86_64) when built with GCC 4.8.
   # Newer versions of GMP don't have that issue anymore.
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index b65a8ee5fc1c1..3b9fbc35a768f 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -20,24 +20,23 @@ let self = stdenv.mkDerivation rec {
 
   patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
 
-  configureFlags =
+  configureFlags = [
+    "--with-pic"
+    (stdenv.lib.enableFeature cxx "cxx")
     # Build a "fat binary", with routines for several sub-architectures
     # (x86), except on Solaris where some tests crash with "Memory fault".
     # See <http://hydra.nixos.org/build/2760931>, for instance.
     #
     # no darwin because gmp uses ASM that clang doesn't like
-    optional (!stdenv.isSunOS) "--enable-fat"
-    ++ (if cxx then [ "--enable-cxx"  ]
-               else [ "--disable-cxx" ])
-    ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
-    ++ optional stdenv.isDarwin "ABI=64"
-    ++ optional stdenv.is64bit "--with-pic"
+    (stdenv.lib.enableFeature (!stdenv.isSunOS && stdenv.hostPlatform.isx86) "fat")
+  ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+    ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64"
     ;
 
   # The config.guess in GMP tries to runtime-detect various
   # ARM optimization flags via /proc/cpuinfo (and is also
   # broken on multicore CPUs). Avoid this impurity.
-  preConfigure = optionalString stdenv.isArm ''
+  preConfigure = optionalString stdenv.isAarch32 ''
       configureFlagsArray+=("--build=$(./configfsf.guess)")
     '';
 
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
index 5973c89cef797..04c57d94666f1 100644
--- a/pkgs/development/libraries/gmp/6.x.nix
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, m4, cxx ? true
-, buildPackages
+{ stdenv, fetchurl, m4, cxx ? !hostPlatform.useAndroidPrebuilt
+, buildPackages, hostPlatform
 , withStatic ? false }:
 
 let inherit (stdenv.lib) optional optionalString; in
@@ -21,24 +21,24 @@ let self = stdenv.mkDerivation rec {
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ m4 ];
 
-  configureFlags =
+  configureFlags = [
+    "--with-pic"
+    (stdenv.lib.enableFeature cxx "cxx")
     # Build a "fat binary", with routines for several sub-architectures
     # (x86), except on Solaris where some tests crash with "Memory fault".
     # See <http://hydra.nixos.org/build/2760931>, for instance.
     #
     # no darwin because gmp uses ASM that clang doesn't like
-    optional (!stdenv.isSunOS) "--enable-fat"
-    ++ (if cxx then [ "--enable-cxx"  ]
-               else [ "--disable-cxx" ])
-    ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
-    ++ optional stdenv.isDarwin "ABI=64"
-    ++ optional stdenv.is64bit "--with-pic"
+    (stdenv.lib.enableFeature (!stdenv.isSunOS && stdenv.hostPlatform.isx86) "fat")
+  ] ++ optional (cxx && stdenv.isDarwin) "CPPFLAGS=-fexceptions"
+    ++ optional (stdenv.isDarwin && stdenv.is64bit) "ABI=64"
+    ++ optional (with stdenv.hostPlatform; useAndroidPrebuilt || useiOSPrebuilt) "--disable-assembly"
     ;
 
   # The config.guess in GMP tries to runtime-detect various
   # ARM optimization flags via /proc/cpuinfo (and is also
   # broken on multicore CPUs). Avoid this impurity.
-  preConfigure = optionalString stdenv.isArm ''
+  preConfigure = optionalString stdenv.isAarch32 ''
       configureFlagsArray+=("--build=$(./configfsf.guess)")
     '';
 
diff --git a/pkgs/development/libraries/gnet/default.nix b/pkgs/development/libraries/gnet/default.nix
index c9431420194a9..0b2fb9fef6c34 100644
--- a/pkgs/development/libraries/gnet/default.nix
+++ b/pkgs/development/libraries/gnet/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation {
   meta = with stdenv.lib; {
     description = "A network library, written in C, object-oriented, and built upon GLib";
     homepage = https://developer.gnome.org/gnet/;
+    license = licenses.lgpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
   };
diff --git a/pkgs/development/libraries/gnu-config/default.nix b/pkgs/development/libraries/gnu-config/default.nix
index b46523071c7cf..a14d7486e96fe 100644
--- a/pkgs/development/libraries/gnu-config/default.nix
+++ b/pkgs/development/libraries/gnu-config/default.nix
@@ -1,16 +1,16 @@
 { stdenv, fetchurl }:
 
 let
-  rev = "6a82322dd05cdc57b4cd9f7effdf1e2fd6f7482b";
+  rev = "b75cdc942a6172f63b34faf642b8c797239f6776";
 
   # Don't use fetchgit as this is needed during Aarch64 bootstrapping
   configGuess = fetchurl {
     url = "http://git.savannah.gnu.org/cgit/config.git/plain/config.guess?id=${rev}";
-    sha256 = "1yj9yi94h7z4z6jzickddv64ksz1aq5kj0c7krgzjn8xf8p3avmh";
+    sha256 = "1bb8z1wzjs81p9qrvji4bc2a8zyxjinz90k8xq7sxxdp6zrmq1sv";
   };
   configSub = fetchurl {
     url = "http://git.savannah.gnu.org/cgit/config.git/plain/config.sub?id=${rev}";
-    sha256 = "1qsqdpla6icbzskkk7v3zxrpzlpqlc94ny9hyy5wh5lm5rwwfvb7";
+    sha256 = "00dn5i2cp4iqap5vr368r5ifrgcjfq5pr97i4dkkdbha1han5hsc";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index a46abe3b4f7cc..1f8a518d69e4b 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gnu-efi-${version}";
-  version = "3.0.6";
+  version = "3.0.8";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2";
-    sha256 = "149cyadpn2jm4zxfn1qmpm520iqssp9p07d650rs5ghgv015jl91";
+    sha256 = "08mpw8s79azip9jbzm6msq0999pnkqzd82axydrcyyynm276s03n";
   };
 
   buildInputs = [ pciutils ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     "AR=${stdenv.cc.targetPrefix}ar"
     "RANLIB=${stdenv.cc.targetPrefix}ranlib"
     "OBJCOPY=${stdenv.cc.targetPrefix}objcopy"
-  ] ++ stdenv.lib.optional stdenv.isArm "ARCH=arm"
+  ] ++ stdenv.lib.optional stdenv.isAarch32 "ARCH=arm"
     ++ stdenv.lib.optional stdenv.isAarch64 "ARCH=aarch64";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/gnutls-kdh/generic.nix b/pkgs/development/libraries/gnutls-kdh/generic.nix
index 472ec83fb02c4..a81cd91fdc76c 100644
--- a/pkgs/development/libraries/gnutls-kdh/generic.nix
+++ b/pkgs/development/libraries/gnutls-kdh/generic.nix
@@ -1,6 +1,6 @@
-{ lib, fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+{ lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
 , guileBindings, guile, perl, gmp, autogen, libidn, p11-kit, unbound, libiconv
-, tpmSupport ? true, trousers, nettools, bash, gperftools, gperf, gettext, automake
+, tpmSupport ? true, trousers, nettools, gperftools, gperf, gettext, automake
 , yacc, texinfo
 
 # Version dependent args
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 8769584a9f215..081d896a6e0b8 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
+{ lib, stdenv, zlib, lzo, libtasn1, nettle, pkgconfig, lzip
 , guileBindings, guile, perl, gmp, autogen, libidn, p11-kit, libiconv
 , tpmSupport ? false, trousers, which, nettools, libunistring
 , unbound, dns-root-data, gettext
@@ -40,9 +40,7 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound ]
-    ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv
-    ++ lib.optional stdenv.isDarwin gettext
+  buildInputs = [ lzo lzip libtasn1 libidn p11-kit zlib gmp autogen libunistring unbound gettext libiconv ]
     ++ lib.optional (tpmSupport && stdenv.isLinux) trousers
     ++ lib.optional guileBindings guile
     ++ buildInputs;
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 3c884bb1224af..f5ab5005bad46 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, glib, flex, bison, pkgconfig, libffi, python
-, libintlOrEmpty, cctools, cairo, gnome3
+, libintl, cctools, cairo, gnome3
 , substituteAll, nixStoreDir ? builtins.storeDir
 , x11Support ? true
 }:
@@ -24,9 +24,8 @@ stdenv.mkDerivation rec {
   outputBin = "dev";
   outputMan = "dev"; # tiny pages
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libintl ];
   buildInputs = [ flex bison python setupHook/*move .gir*/ ]
-    ++ libintlOrEmpty
     ++ stdenv.lib.optional stdenv.isDarwin cctools;
   propagatedBuildInputs = [ libffi glib ];
 
@@ -50,6 +49,8 @@ stdenv.mkDerivation rec {
       cairoLib = "${getLib cairo}/lib";
     });
 
+  doCheck = false; # fails
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/godot_headers/default.nix b/pkgs/development/libraries/godot_headers/default.nix
deleted file mode 100644
index 940882b1742db..0000000000000
--- a/pkgs/development/libraries/godot_headers/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchFromGitHub }:
-stdenv.mkDerivation rec {
-  name = "godot_headers";
-  version = "2018-02-09";
-  src = fetchFromGitHub {
-    owner = "GodotNativeTools";
-    repo = "godot_headers";
-    rev = "51bca3bf5d917341f3e15076c5a9191f8a5118ae";
-    sha256 = "0z562pqm8y8wldmfiya72cvwwpvcfznpl0wypagw50v0f41ilywh";
-  };
-  buildPhase = "true";
-  installPhase = ''
-    mkdir $out
-    cp -r . $out/include
-  '';
-  meta = {
-    homepage = "https://github.com/GodotNativeTools/godot_headers/";
-    description = "Headers for the Godot API supplied by the GDNative module";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.twey ];
-  };
-}
diff --git a/pkgs/development/libraries/goffice/default.nix b/pkgs/development/libraries/goffice/default.nix
index 6cdd19f307dfd..6155b8b18bd0f 100644
--- a/pkgs/development/libraries/goffice/default.nix
+++ b/pkgs/development/libraries/goffice/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, intltool, glib, gtk3
-, libgsf, libxml2, libxslt, cairo, pango, librsvg, libspectre }:
+, libgsf, libxml2, libxslt, cairo, pango, librsvg }:
 
 stdenv.mkDerivation rec {
   name = "goffice-0.10.39";
diff --git a/pkgs/development/libraries/goocanvas/2.x.nix b/pkgs/development/libraries/goocanvas/2.x.nix
index 026f58079f6d1..ef36a9c076fba 100644
--- a/pkgs/development/libraries/goocanvas/2.x.nix
+++ b/pkgs/development/libraries/goocanvas/2.x.nix
@@ -13,11 +13,13 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig gettext gtk-doc python2 ];
-  buildInputs = [ gtk3 cairo glib ];
+  buildInputs = [ gtk3 cairo glib gobjectIntrospection ];
 
   configureFlags = [
     "--disable-python"
   ];
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
 
   meta = with stdenv.lib; {
     description = "Canvas widget for GTK+ based on the the Cairo 2D library";
diff --git a/pkgs/development/libraries/google-gflags/default.nix b/pkgs/development/libraries/google-gflags/default.nix
index 1a3a165872748..dbcb0342156b8 100644
--- a/pkgs/development/libraries/google-gflags/default.nix
+++ b/pkgs/development/libraries/google-gflags/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "google-gflags-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "gflags";
     repo = "gflags";
     rev = "v${version}";
-    sha256 = "1y5808ky8qhjwv1nf134czz0h2p2faqvjhxa9zxf8mg8hn4ns9wp";
+    sha256 = "12wkihc4f07qmhyqk3cjylj8v5xz2bjrq75p7aq1vvvj60fbp58k";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 5c863cf26cbef..de71704cff85f 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.6.1";
+  name = "gperftools-2.6.3";
 
   src = fetchurl {
     url = "https://github.com/gperftools/gperftools/releases/download/${name}/${name}.tar.gz";
-    sha256 = "10cxd6s5pkm2d934gh47hrn9xcrw4qlc9yr7s99z4a508bmngd1q";
+    sha256 = "17zfivp6n00rlqbrx6q6h71y2f815nvlzysff1ihgk4mxpv2yjri";
   };
 
   buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
@@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
     substituteInPlace libtool --replace stdc++ c++
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional stdenv.isDarwin "-D_XOPEN_SOURCE";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionals stdenv.isDarwin [
+    "-D_XOPEN_SOURCE" "-Wno-aligned-allocation-unavailable"
+  ];
 
   # some packages want to link to the static tcmalloc_minimal
   # to drop the runtime dependency on gperftools
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index 68762e344bdb4..b3b00a1c72264 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
+{ stdenv, fetchurl, libgpgerror, gnupg, pkgconfig, glib, pth, libassuan
 , file, which
 , autoreconfHook
 , git
@@ -11,11 +11,11 @@ let inherit (stdenv) lib system; in
 
 stdenv.mkDerivation rec {
   name = "gpgme-${version}";
-  version = "1.10.0";
+  version = "1.11.1";
 
   src = fetchurl {
     url = "mirror://gnupg/gpgme/${name}.tar.bz2";
-    sha256 = "14q619lxbk64vz7lih5gjb928qm28jrnn1h3yhsrrff3jw8yv3qs";
+    sha256 = "0vxx5xaag3rhp4g2arp5qm77gvz4kj0m3hnpvhkdvqyjfhbi26rd";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
     # https://www.gnupg.org/documentation/manuals/gpgme/Largefile-Support-_0028LFS_0029.html
     ++ lib.optional (system == "i686-linux") "-D_FILE_OFFSET_BITS=64";
 
+  checkInputs = [ which ];
+
+  doCheck = false; # fails 8 out of 26 tests with "GPGME: Decryption failed". Spooky!
+
   meta = with stdenv.lib; {
     homepage = https://gnupg.org/software/gpgme/index.html;
     description = "Library for making GnuPG easier to use";
diff --git a/pkgs/development/libraries/granite/default.nix b/pkgs/development/libraries/granite/default.nix
index 8243775c6bc17..1ee0970ffad23 100644
--- a/pkgs/development/libraries/granite/default.nix
+++ b/pkgs/development/libraries/granite/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, perl, cmake, ninja, vala, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
+{ stdenv, fetchFromGitHub, perl, cmake, ninja, vala_0_40, pkgconfig, gobjectIntrospection, glib, gtk3, gnome3, gettext }:
 
 stdenv.mkDerivation rec {
   name = "granite-${version}";
-  version = "0.5";
+  version = "5.1.0";
 
   src = fetchFromGitHub {
     owner = "elementary";
     repo = "granite";
     rev = version;
-    sha256 = "15l8z1jkqhvappnr8jww27lfy3dwqybgsxk5iccyvnvzpjdh2s0h";
+    sha256 = "1v1yhz6rp616xi417m9r8072s6mpz5i8vkdyj264b73p0lgjwh40";
   };
 
   cmakeFlags = [
@@ -17,18 +17,18 @@ stdenv.mkDerivation rec {
   ];
 
   nativeBuildInputs = [
-    vala
-    pkgconfig
     cmake
-    ninja
-    perl
     gettext
     gobjectIntrospection
+    ninja
+    perl
+    pkgconfig
+    vala_0_40
   ];
   buildInputs = [
     glib
-    gtk3
     gnome3.libgee
+    gtk3
   ];
 
   meta = with stdenv.lib; {
@@ -37,6 +37,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/elementary/granite;
     license = licenses.lgpl3;
     platforms = platforms.linux;
-    maintainers = [ maintainers.vozz ];
+    maintainers = with maintainers; [ vozz worldofpeace ];
   };
 }
diff --git a/pkgs/development/libraries/grantlee/5/default.nix b/pkgs/development/libraries/grantlee/5/default.nix
index 3eed4f0c2e29e..aa670cd4c86b3 100644
--- a/pkgs/development/libraries/grantlee/5/default.nix
+++ b/pkgs/development/libraries/grantlee/5/default.nix
@@ -31,6 +31,8 @@ mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with lib; {
     description = "Qt5 port of Django template system";
     longDescription = ''
diff --git a/pkgs/development/libraries/grantlee/default.nix b/pkgs/development/libraries/grantlee/default.nix
index 3944d2ecab69f..9dde67b5c7958 100644
--- a/pkgs/development/libraries/grantlee/default.nix
+++ b/pkgs/development/libraries/grantlee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, qt4, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "grantlee-0.4.0";
+  name = "grantlee-0.5.1";
 
 # Upstream download server has country code firewall, so I made a mirror.
   src = fetchurl {
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
       "http://downloads.grantlee.org/${name}.tar.gz"
       "http://www.loegria.net/grantlee/${name}.tar.gz"
     ];
-    sha256 = "0gqdckxx45qmyixyz5d7ipcqq2dw26r71m2fpsrlnh4j2c9di8hk";
+    sha256 = "1b501xbimizmbmysl1j5zgnp48qw0r2r7lhgmxvzhzlv9jzhj60r";
   };
 
   buildInputs = [ cmake qt4 ];
diff --git a/pkgs/development/libraries/grib-api/default.nix b/pkgs/development/libraries/grib-api/default.nix
index 61409279ded7e..c8ce99dc90dd6 100644
--- a/pkgs/development/libraries/grib-api/default.nix
+++ b/pkgs/development/libraries/grib-api/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec{
   name = "grib-api-${version}";
-  version = "1.26.0";
+  version = "1.27.0";
 
   src = fetchurl {
     url = "https://software.ecmwf.int/wiki/download/attachments/3473437/grib_api-${version}-Source.tar.gz";
-    sha256 = "00cmmj44bhdlzhqbvwb3bb4xks3bpva669m6g3g6ffjaqm25b90c";
+    sha256 = "1vx6bx9jhz5vdh2vx5y532ihwgyylagqz6pbx2p2bsx4kmj4pxdd";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/grpc/default.nix b/pkgs/development/libraries/grpc/default.nix
index 9f9166e43c9fb..7f680b6b59bfb 100644
--- a/pkgs/development/libraries/grpc/default.nix
+++ b/pkgs/development/libraries/grpc/default.nix
@@ -1,14 +1,15 @@
 { stdenv, fetchurl, cmake, zlib, c-ares, pkgconfig, openssl, protobuf, gflags }:
 
 stdenv.mkDerivation rec {
-  version = "1.10.0";
+  version = "1.10.1";
   name = "grpc-${version}";
   src = fetchurl {
     url = "https://github.com/grpc/grpc/archive/v${version}.tar.gz";
-    sha256 = "0wngrb44bpryrvrnx5y1ncrhi2097qla929wqjwvs0razbk3v9rr";
+    sha256 = "0l721r24d6wz889vz4g6i67ijz0zc0ah967i3immi90zdmjwlyjg";
   };
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ zlib c-ares c-ares.cmake-config openssl protobuf gflags ];
+
   cmakeFlags =
     [ "-DgRPC_ZLIB_PROVIDER=package"
       "-DgRPC_CARES_PROVIDER=package"
@@ -16,11 +17,19 @@ stdenv.mkDerivation rec {
       "-DgRPC_PROTOBUF_PROVIDER=package"
       "-DgRPC_GFLAGS_PROVIDER=package"
     ];
+
+  # CMake creates a build directory by default, this conflicts with the
+  # basel BUILD file on case-insensitive filesystems.
+  preConfigure = ''
+    rm -vf BUILD
+  '';
+
   enableParallelBuilds = true;
 
   meta = with stdenv.lib; {
     description = "The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)";
     license = licenses.asl20;
+    maintainers = [ maintainers.lnl7 ];
     homepage = https://grpc.io/;
   };
 }
diff --git a/pkgs/development/libraries/gsasl/default.nix b/pkgs/development/libraries/gsasl/default.nix
index 720ff06ceaa50..71da2c716f844 100644
--- a/pkgs/development/libraries/gsasl/default.nix
+++ b/pkgs/development/libraries/gsasl/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, gss, libidn, kerberos }:
+{ fetchurl, stdenv, libidn, kerberos }:
 
 stdenv.mkDerivation rec {
   name = "gsasl-1.8.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libidn kerberos ];
 
-  configureFlags = "--with-gssapi-impl=mit";
+  configureFlags = [ "--with-gssapi-impl=mit" ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index f1eed726eb2ba..37d4843db8d45 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -1,11 +1,11 @@
-{ fetchurl, fetchpatch, stdenv }:
+{ fetchurl, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gsl-2.4";
+  name = "gsl-2.5";
 
   src = fetchurl {
     url = "mirror://gnu/gsl/${name}.tar.gz";
-    sha256 = "16yfs5n444s03np1naj6yp1fsysd42kdscxzkg0k2yvfjixx0ijd";
+    sha256 = "1395y9hlhqadn5g9j8q22224fds5sd92jxi9czfavjj24myasq04";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gsm/default.nix b/pkgs/development/libraries/gsm/default.nix
index 57112e2825eeb..33583a4c6bb33 100644
--- a/pkgs/development/libraries/gsm/default.nix
+++ b/pkgs/development/libraries/gsm/default.nix
@@ -9,11 +9,11 @@ in
 
 stdenv.mkDerivation rec {
   name = "gsm-${version}";
-  version = "1.0.17";
+  version = "1.0.18";
 
   src = fetchurl {
     url = "http://www.quut.com/gsm/${name}.tar.gz";
-    sha256 = "00bns0d4wwrvc60lj2w7wz4yk49q1f6rpdrwqzrxsha9d78mfnl5";
+    sha256 = "041amvpz8cvxykl3pwqldrzxligmmzcg8ncdnxbg32rlqf3q1xh4";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/libraries/gspell/default.nix b/pkgs/development/libraries/gspell/default.nix
new file mode 100644
index 0000000000000..051228aeb1529
--- /dev/null
+++ b/pkgs/development/libraries/gspell/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, pkgconfig, libxml2, glib, gtk3, enchant2, isocodes, vala, gobjectIntrospection, gnome3 }:
+
+let
+  pname = "gspell";
+  version = "1.8.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" ];
+  outputBin = "dev";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
+    sha256 = "1rdv873ixhwr15jwgc2z6k6y0hj353fqnwsy7zkh0c30qwiiv6l1";
+  };
+
+  propagatedBuildInputs = [ enchant2 ]; # required for pkgconfig
+
+  nativeBuildInputs = [ pkgconfig vala gobjectIntrospection libxml2 ];
+  buildInputs = [ glib gtk3 isocodes ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A spell-checking library for GTK+ applications";
+    homepage = https://wiki.gnome.org/Projects/gspell;
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gssdp/default.nix b/pkgs/development/libraries/gssdp/default.nix
index 55e20065732c7..d48ba9082af21 100644
--- a/pkgs/development/libraries/gssdp/default.nix
+++ b/pkgs/development/libraries/gssdp/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "gssdp-${version}";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gssdp/1.0/${name}.tar.xz";
-    sha256 = "1qfj4gir1qf6v86z70ryzmjb75ns30q6zi5p89vhd3621gs6f7b0";
+    sha256 = "1p1m2m3ndzr2whipqw4vfb6s6ia0g7rnzzc4pnq8b8g1qw4prqd1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 8caca820a57c0..96e02c605f540 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -1,25 +1,20 @@
 { stdenv, fetchurl, fetchpatch, meson, ninja, gettext
 , pkgconfig, python, gst-plugins-base, orc
 , faacSupport ? false, faac ? null
-, faad2, libass, libkate, libmms
-, libmodplug, mpeg2dec
+, faad2, libass, libkate, libmms, librdf, ladspaH
+, libnice, webrtc-audio-processing, lilv, lv2, serd, sord, sratom
+, libbs2b, libmodplug, mpeg2dec
 , openjpeg, libopus, librsvg
 , wildmidi, fluidsynth, libvdpau, wayland
 , libwebp, xvidcore, gnutls, mjpegtools
-, libGLU_combined, libintlOrEmpty, libgme
+, libGLU_combined, libintl, libgme
 , openssl, x265, libxml2
 }:
 
 assert faacSupport -> faac != null;
 
 let
-  inherit (stdenv.lib) optional optionalString;
-
-  # OpenJPEG version is hardcoded in package source
-  openJpegVersion = with stdenv;
-    lib.concatStringsSep "." (lib.lists.take 2
-      (lib.splitString "." (lib.getVersion openjpeg)));
-
+  inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
   name = "gst-plugins-bad-1.14.0";
@@ -35,6 +30,7 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   preConfigure = ''
@@ -47,6 +43,12 @@ stdenv.mkDerivation rec {
         sha256 = "0hy0rcn35alq65yqwri4fqjz2hf3nyyg5c7rnndk51msmqjxpprk";
     })
     ./fix_pkgconfig_includedir.patch
+    # Enable bs2b compilation
+    # https://bugzilla.gnome.org/show_bug.cgi?id=794346
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=369724;
+      sha256 = "1716mp0h2866ab33w607isvfhv1zwyj71qb4jrkx5v0h276v1pwr";
+    })
   ];
 
   src = fetchurl {
@@ -61,13 +63,17 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gst-plugins-base orc
     faad2 libass libkate libmms
+    libnice webrtc-audio-processing # webrtc
+    libbs2b
+    ladspaH librdf # ladspa plug-in
+    lilv lv2 serd sord sratom # lv2 plug-in
     libmodplug mpeg2dec
     openjpeg libopus librsvg
     fluidsynth libvdpau
     libwebp xvidcore gnutls libGLU_combined
     libgme openssl x265 libxml2
+    libintl
   ]
-    ++ libintlOrEmpty
     ++ optional faacSupport faac
     ++ optional stdenv.isLinux wayland
     # wildmidi requires apple's OpenAL
@@ -76,5 +82,8 @@ stdenv.mkDerivation rec {
     # TODO: mjpegtools uint64_t is not compatible with guint64 on Darwin
     ++ optional (!stdenv.isDarwin) mjpegtools;
 
-  LDFLAGS = optionalString stdenv.isDarwin "-lintl";
+  enableParallelBuilding = true;
+
+  doCheck = false; # fails 20 out of 58 tests, expensive
+
 }
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index e2a8c36bf026b..dd4007bd142bd 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -1,17 +1,22 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, meson
-, ninja, gettext, gobjectIntrospection, python
-, gstreamer, orc, alsaLib, libXv, pango, libtheora
-, wayland, cdparanoia, libvisual, libintlOrEmpty
-}:
+{ stdenv, fetchurl, fetchpatch, lib
+, pkgconfig, meson, ninja, gettext, gobjectIntrospection
+, python, gstreamer, orc, pango, libtheora
+, libintl, libopus
+, enableX11 ? stdenv.isLinux, libXv
+, enableWayland ? stdenv.isLinux, wayland
+, enableAlsa ? stdenv.isLinux, alsaLib
+, enableCocoa ? false, darwin
+, enableCdparanoia ? (!stdenv.isDarwin), cdparanoia }:
 
 stdenv.mkDerivation rec {
   name = "gst-plugins-base-1.14.0";
 
-  meta = {
+  meta = with lib; {
     description = "Base plugins and helper libraries";
     homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   src = fetchurl {
@@ -21,24 +26,38 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [
-    pkgconfig python meson ninja gettext gobjectIntrospection
-  ];
+  nativeBuildInputs = [ pkgconfig python gettext gobjectIntrospection ]
+
+  # Broken meson with Darwin. Should hopefully be fixed soon. Tracking
+  # in https://bugzilla.gnome.org/show_bug.cgi?id=781148.
+  ++ lib.optionals (!stdenv.isDarwin) [ meson ninja ];
 
-  buildInputs = [
-    orc libXv pango libtheora cdparanoia wayland
+  # TODO How to pass these to Meson?
+  configureFlags = [
+    "--enable-x11=${if enableX11 then "yes" else "no"}"
+    "--enable-wayland=${if enableWayland then "yes" else "no"}"
+    "--enable-cocoa=${if enableCocoa then "yes" else "no"}"
   ]
-  ++ libintlOrEmpty
-  ++ stdenv.lib.optional stdenv.isLinux alsaLib
-  ++ stdenv.lib.optional (!stdenv.isDarwin) libvisual;
+
+  # Introspection fails on my MacBook currently
+  ++ lib.optional stdenv.isDarwin "--disable-introspection";
+
+  buildInputs = [ orc libtheora libintl libopus ]
+    ++ lib.optional enableAlsa alsaLib
+    ++ lib.optionals enableX11 [ libXv pango ]
+    ++ lib.optional enableWayland wayland
+    ++ lib.optional enableCocoa darwin.apple_sdk.frameworks.Cocoa
+    ++ lib.optional enableCdparanoia cdparanoia;
 
   propagatedBuildInputs = [ gstreamer ];
 
-  preConfigure = ''
+  postPatch = ''
     patchShebangs .
   '';
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+  enableParallelBuilding = true;
+
+  doCheck = false; # fails, wants DRI access for OpenGL
 
   patches = [
     (fetchpatch {
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index ab3f78767a1c3..5845c8c50db23 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -2,17 +2,18 @@
 , pkgconfig, gettext, gobjectIntrospection
 , bison, flex, python3, glib, makeWrapper
 , libcap,libunwind, darwin
+, lib
 }:
 
 stdenv.mkDerivation rec {
   name = "gstreamer-1.14.0";
 
-  meta = {
+  meta = with lib ;{
     description = "Open source multimedia framework";
     homepage = https://gstreamer.freedesktop.org;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = [ stdenv.lib.maintainers.ttuegel ];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ ttuegel matthewbauer ];
   };
 
   src = fetchurl {
@@ -20,7 +21,7 @@ stdenv.mkDerivation rec {
     sha256 = "0vj6k01lp2yva6rfd95fkyng9jdr62gkz0x8d2l81dyly1ki6dpw";
   };
 
-  patches = [ 
+  patches = [
     (fetchpatch {
         url = "https://bug794856.bugzilla-attachments.gnome.org/attachment.cgi?id=370411";
         sha256 = "16plzzmkk906k4892zq68j3c9z8vdma5nxzlviq20jfv04ykhmk2";
@@ -34,7 +35,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     meson ninja pkgconfig gettext bison flex python3 makeWrapper gobjectIntrospection
   ];
-  buildInputs = [ libcap libunwind ] ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
+  buildInputs =
+       lib.optionals stdenv.isLinux [ libcap libunwind ]
+    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
 
   propagatedBuildInputs = [ glib ];
 
diff --git a/pkgs/development/libraries/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/default.nix
index ce74b2f27ff1c..9aec876340409 100644
--- a/pkgs/development/libraries/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, libva-full }:
+{ callPackage }:
 
 rec {
   gstreamer = callPackage ./core { };
@@ -21,7 +21,6 @@ rec {
 
   gst-vaapi = callPackage ./vaapi {
     inherit gst-plugins-base gstreamer gst-plugins-bad;
-    libva = libva-full; # looks also for libva-{x11,wayland}
   };
 
   gst-validate = callPackage ./validate { inherit gst-plugins-base; };
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 960c03b52e29b..99d27523b1c9d 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -3,15 +3,16 @@
 , libv4l, libdv, libavc1394, libiec61883
 , libvpx, speex, flac, taglib, libshout
 , cairo, gdk_pixbuf, aalib, libcaca
-, libsoup, libpulseaudio, libintlOrEmpty
+, libsoup, libpulseaudio, libintl
 , darwin, lame, mpg123, twolame
 , gtkSupport ? false, gtk3 ? null
+, ncurses
 }:
 
 assert gtkSupport -> gtk3 != null;
 
 let
-  inherit (stdenv.lib) optionals optionalString;
+  inherit (stdenv.lib) optional optionals;
 in
 stdenv.mkDerivation rec {
   name = "gst-plugins-good-1.14.0";
@@ -26,6 +27,7 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   src = fetchurl {
@@ -39,17 +41,20 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig python meson ninja gettext ];
 
+  NIX_LDFLAGS = "-lncurses";
+
   buildInputs = [
     gst-plugins-base orc bzip2
     libdv libvpx speex flac taglib
     cairo gdk_pixbuf aalib libcaca
-    libsoup libshout lame mpg123 twolame
+    libsoup libshout lame mpg123 twolame libintl
+    ncurses
   ]
-  ++ libintlOrEmpty
+  ++ optional gtkSupport gtk3 # for gtksink
   ++ optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Cocoa ]
-  ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ]
-  # for gtksink
-  ++ optionals gtkSupport [ gtk3 ];
+  ++ optionals stdenv.isLinux [ libv4l libpulseaudio libavc1394 libiec61883 ];
+
+  # fails 1 tests with "Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstRtpStorage' has no property named ''"
+  doCheck = false;
 
-  LDFLAGS = optionalString stdenv.isDarwin "-lintl";
 }
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
index 95b394a6d4b7e..9c9243a1c6837 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   # Upstream strongly recommends against using --with-system-ffmpeg,
   # but we do it anyway because we're so hardcore (and we don't want
   # multiple copies of ffmpeg).
-  configureFlags = stdenv.lib.optionalString (!useInternalFfmpeg) "--with-system-ffmpeg";
+  configureFlags = stdenv.lib.optional (!useInternalFfmpeg) "--with-system-ffmpeg";
 
   buildInputs =
     [ pkgconfig bzip2 gst-plugins-base orc ]
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
index 2c2e1b0da122e..db75705c825ab 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -1,6 +1,6 @@
-{ fetchurl, stdenv, pkgconfig, python, gstreamer, xorg, alsaLib, cdparanoia
+{ fetchurl, stdenv, pkgconfig, gstreamer, xorg, alsaLib, cdparanoia
 , libogg, libtheora, libvorbis, freetype, pango, liboil, glib, cairo, orc
-, libintlOrEmpty
+, libintl
 , ApplicationServices
 , # Whether to build no plugins that have external dependencies
   # (except the ALSA plugin).
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   # TODO : v4l, libvisual
   buildInputs =
-    [ pkgconfig glib cairo orc ]
+    [ pkgconfig glib cairo orc libintl ]
     # can't build alsaLib on darwin
     ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib
     ++ stdenv.lib.optionals (!minimalDeps)
@@ -37,11 +37,8 @@ stdenv.mkDerivation rec {
         liboil ]
     # can't build cdparanoia on darwin
     ++ stdenv.lib.optional (!minimalDeps && !stdenv.isDarwin) cdparanoia
-    ++ libintlOrEmpty
     ++ stdenv.lib.optional stdenv.isDarwin ApplicationServices;
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   propagatedBuildInputs = [ gstreamer ];
 
   postInstall = "rm -rf $out/share/gtk-doc";
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
index d533f798d9994..7ecb6c34b4327 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, stdenv, lib, pkgconfig, gst-plugins-base, aalib, cairo
-, flac, libjpeg, zlib, speex, libpng, libdv, libcaca, libvpx
-, libiec61883, libavc1394, taglib, libpulseaudio, gdk_pixbuf, orc
-, glib, gstreamer, bzip2, libsoup, libshout, ncurses, libintlOrEmpty
+, 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
@@ -23,15 +23,12 @@ stdenv.mkDerivation rec {
   configureFlags = [ "--enable-experimental" "--disable-oss" ];
 
   buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base ]
+    [ pkgconfig glib gstreamer gst-plugins-base libintl ]
     ++ lib.optional stdenv.isLinux libpulseaudio
-    ++ libintlOrEmpty
     ++ lib.optionals (!minimalDeps)
       [ aalib libcaca cairo libdv flac libjpeg libpng speex
         taglib bzip2 libvpx gdk_pixbuf orc libsoup libshout ];
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
-
   enableParallelBuilding = true;
 
   postInstall = lib.optionalString (!minimalDeps) ''
@@ -39,6 +36,9 @@ stdenv.mkDerivation rec {
       --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;
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
index 5c289fb391144..2f46016adac81 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, glib, gstreamer, gst-plugins-base
-, libmad, libdvdread, libmpeg2, libcdio, a52dec, x264, orc, lame, libintlOrEmpty }:
+, libmad, libdvdread, a52dec, x264, orc, lame, libintl }:
 
 stdenv.mkDerivation rec {
   name = "gst-plugins-ugly-0.10.19";
@@ -13,9 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs =
-    [ pkgconfig glib gstreamer gst-plugins-base libmad libdvdread a52dec x264 orc lame ] ++ libintlOrEmpty;
-
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+    [ pkgconfig glib gstreamer gst-plugins-base libmad libdvdread a52dec x264 orc lame libintl ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
index 55d34a3fada33..d4d4082509e4b 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gstreamer/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintlOrEmpty }:
+{ fetchurl, stdenv, perl, bison, flex, pkgconfig, glib, libxml2, libintl }:
 
 stdenv.mkDerivation rec {
   name = "gstreamer-0.10.36";
@@ -13,22 +13,25 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libintl ];
   buildInputs = [ perl bison flex ];
-  propagatedBuildInputs = [ glib libxml2 ] ++ libintlOrEmpty;
+  propagatedBuildInputs = [ glib libxml2 ];
 
-  patchPhase = ''
+  # See https://trac.macports.org/ticket/40783 for explanation of patch
+  patches = 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
-  ''
-  + stdenv.lib.optionalString stdenv.isDarwin ''
-    # Applying this patch manually to avoid a rebuild on Linux. Feel free to refactor later
-    # See https://trac.macports.org/ticket/40783 for explanation of patch
-    patch -p1 < ${./darwin.patch}
   '';
 
-  configureFlags = ''
-    --disable-examples --enable-failing-tests --localstatedir=/var --disable-gtk-doc --disable-docbook
-  '';
+  configureFlags = [
+    "--disable-examples"
+    "--localstatedir=/var"
+    "--disable-gtk-doc"
+    "--disable-docbook"
+  ];
+
+  doCheck = false; # fails. 2 tests crash
 
   postInstall = ''
     # Hm, apparently --disable-gtk-doc is ignored...
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 90e7eab860a3a..004bb0715f263 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, python
 , gst-plugins-base, orc, gettext
 , a52dec, libcdio, libdvdread
-, libmad, libmpeg2, x264, libintlOrEmpty
+, libmad, libmpeg2, x264, libintl, lib
+, darwin
 }:
 
 stdenv.mkDerivation rec {
   name = "gst-plugins-ugly-1.14.0";
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Gstreamer Ugly Plugins";
     homepage    = "https://gstreamer.freedesktop.org";
     longDescription = ''
@@ -18,6 +19,7 @@ stdenv.mkDerivation rec {
     '';
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 
   src = fetchurl {
@@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
     gst-plugins-base orc
     a52dec libcdio libdvdread
     libmad libmpeg2 x264
-  ] ++ libintlOrEmpty;
-
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+    libintl
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks;
+    [ IOKit CoreFoundation DiskArbitration ]);
 }
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 11b451e76fdfc..7255894f3b1fe 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, meson, ninja, pkgconfig, gst-plugins-base, bzip2, libva, wayland
-, libdrm, udev, xorg, libGLU_combined, yasm, gstreamer, gst-plugins-bad, nasm
+, libdrm, udev, xorg, libGLU_combined, gstreamer, gst-plugins-bad, nasm
 , libvpx, python
 }:
 
diff --git a/pkgs/development/libraries/gtdialog/default.nix b/pkgs/development/libraries/gtdialog/default.nix
index 36da2fb72aa40..d0a2d3691b493 100644
--- a/pkgs/development/libraries/gtdialog/default.nix
+++ b/pkgs/development/libraries/gtdialog/default.nix
@@ -6,7 +6,7 @@ let
     version="1.4";
     name="${baseName}-${version}";
     hash="1lhsaz56s8m838fi6vnfcd2r6djymvy3n2pbqhii88hraapq3rfk";
-    url="http://foicica.com/gtdialog/download/gtdialog_1.4.zip";
+    url="https://foicica.com/gtdialog/download/gtdialog_1.4.zip";
     sha256="1lhsaz56s8m838fi6vnfcd2r6djymvy3n2pbqhii88hraapq3rfk";
   };
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index 8a3ce884dfd7a..4bf42e1b5b650 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl, pkgconfig, gettext, glib, atk, pango, cairo, perl, xorg
-, gdk_pixbuf, libintlOrEmpty, xlibsWrapper, gobjectIntrospection
+, gdk_pixbuf, xlibsWrapper, gobjectIntrospection
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? true, cups ? null
-, gdktarget ? "x11"
+, gdktarget ? if stdenv.isDarwin then "quartz" else "x11"
 , AppKit, Cocoa
+, fetchpatch
 }:
 
 assert xineramaSupport -> xorg.libXinerama != null;
@@ -24,13 +25,17 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = optionalString (libintlOrEmpty != []) "-lintl";
-
   setupHook = ./setup-hook.sh;
 
   nativeBuildInputs = [ setupHook perl pkgconfig gettext gobjectIntrospection ];
 
-  patches = [ ./2.0-immodules.cache.patch ./gtk2-theme-paths.patch ];
+  patches = [
+    ./2.0-immodules.cache.patch
+    ./gtk2-theme-paths.patch
+  ] ++ optional stdenv.isDarwin (fetchpatch {
+    url = https://bug557780.bugzilla-attachments.gnome.org/attachment.cgi?id=306776;
+    sha256 = "0sp8f1r5c4j2nlnbqgv7s7nxa4cfwigvm033hvhb1ld652pjag4r";
+  });
 
   propagatedBuildInputs = with xorg;
     [ glib cairo pango gdk_pixbuf atk ]
@@ -38,7 +43,6 @@ stdenv.mkDerivation rec {
          libXrandr libXrender libXcomposite libXi libXcursor
        ]
     ++ optionals stdenv.isDarwin [ xlibsWrapper libXdamage ]
-    ++ libintlOrEmpty
     ++ optional xineramaSupport libXinerama
     ++ optionals cupsSupport [ cups ]
     ++ optionals stdenv.isDarwin [ AppKit Cocoa ];
@@ -52,6 +56,8 @@ stdenv.mkDerivation rec {
     "--disable-visibility"
   ];
 
+  doCheck = false; # needs X11
+
   postInstall = ''
     moveToOutput share/gtk-2.0/demo "$devdoc"
     # The updater is needed for nixos env and it's tiny.
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index c96139ddb5765..27052d1922f6f 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, gettext, perl, makeWrapper, shared-mime-info
 , expat, glib, cairo, pango, gdk_pixbuf, atk, at-spi2-atk, gobjectIntrospection
-, xorg, epoxy, json-glib, libxkbcommon, gmp
-, waylandSupport ? stdenv.isLinux, wayland, wayland-protocols
+, xorg, epoxy, json-glib, libxkbcommon, gmp, gnome3
+, x11Support ? stdenv.isLinux
+, waylandSupport ? stdenv.isLinux, mesa_noglu, wayland, wayland-protocols
 , xineramaSupport ? stdenv.isLinux
 , cupsSupport ? stdenv.isLinux, cups ? null
-, darwin, gnome3
+, AppKit, Cocoa
 }:
 
 assert cupsSupport -> cups != null;
@@ -12,14 +13,14 @@ assert cupsSupport -> cups != null;
 with stdenv.lib;
 
 let
-  version = "3.22.29";
+  version = "3.22.30";
 in
 stdenv.mkDerivation rec {
   name = "gtk+3-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/${gnome3.versionBranch version}/gtk+-${version}.tar.xz";
-    sha256 = "1y5vzdbgww9l7xcrg13azff2rs94kggkywmpcsh39h7w76wn8zd0";
+    sha256 = "0rv5k8fyi2i19k4zncai6vf429s6zy3kncr8vb6f3m034z0sb951";
   };
 
   outputs = [ "out" "dev" ];
@@ -36,18 +37,17 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  buildInputs = [ libxkbcommon epoxy json-glib ];
+  buildInputs = [ libxkbcommon epoxy json-glib ]
+    ++ optional stdenv.isDarwin AppKit;
   propagatedBuildInputs = with xorg; with stdenv.lib;
     [ expat glib cairo pango gdk_pixbuf atk at-spi2-atk gnome3.gsettings-desktop-schemas
       libXrandr libXrender libXcomposite libXi libXcursor libSM libICE ]
-    ++ optionals waylandSupport [ wayland wayland-protocols ]
-    ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ AppKit Cocoa ])
+    ++ optional stdenv.isDarwin Cocoa  # explicitly propagated, always needed
+    ++ optionals waylandSupport [ mesa_noglu wayland wayland-protocols ]
     ++ optional xineramaSupport libXinerama
     ++ optional cupsSupport cups;
   #TODO: colord?
 
-  NIX_LDFLAGS = optionalString stdenv.isDarwin "-lintl";
-
   # demos fail to install, no idea where's the problem
   preConfigure = "sed '/^SRC_SUBDIRS /s/demos//' -i Makefile.in";
 
@@ -57,14 +57,16 @@ stdenv.mkDerivation rec {
     "--disable-debug"
     "--disable-dependency-tracking"
     "--disable-glibtest"
-    "--with-gdktarget=quartz"
+  ] ++ optional (stdenv.isDarwin && !x11Support)
     "--enable-quartz-backend"
-  ] ++ optional stdenv.isLinux [
+    ++ optional x11Support [
     "--enable-x11-backend"
   ] ++ optional waylandSupport [
     "--enable-wayland-backend"
   ];
 
+  doCheck = false; # needs X11
+
   postInstall = optionalString (!stdenv.isDarwin) ''
     substituteInPlace "$out/lib/gtk-3.0/3.0.0/printbackends/libprintbackend-cups.la" \
       --replace '-L${gmp.dev}/lib' '-L${gmp.out}/lib'
diff --git a/pkgs/development/libraries/gtkd/default.nix b/pkgs/development/libraries/gtkd/default.nix
index 125bf7a8c25e4..d89b00af4ced5 100644
--- a/pkgs/development/libraries/gtkd/default.nix
+++ b/pkgs/development/libraries/gtkd/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchzip, atk, cairo, dmd, gdk_pixbuf, gnome3, gst_all_1, librsvg
-, pango, pkgconfig, substituteAll, which }:
+, pango, pkgconfig, which }:
 
 stdenv.mkDerivation rec {
   name = "gtkd-${version}";
-  version = "3.6.5";
+  version = "3.8.3";
 
   src = fetchzip {
     url = "https://gtkd.org/Downloads/sources/GtkD-${version}.zip";
-    sha256 = "1ypxxqklad5wwyvc39wnphnqp5y4q5zbf9j5mxb3bg9vnls48vx1";
+    sha256 = "10jhwy1421bypq62ki1dzv8irvlgwr7s40z6l6vxallm4jkgk9gj";
     stripRoot = false;
   };
 
@@ -19,63 +19,63 @@ stdenv.mkDerivation rec {
 
   prePatch = ''
     substituteAll ${./paths.d} generated/gtkd/gtkd/paths.d
-    substituteInPlace src/cairo/gtkc/cairo-compiletime.d \
+    substituteInPlace src/cairo/c/functions-compiletime.d \
       --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
       --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace src/cairo/gtkc/cairo-runtime.d \
+    substituteInPlace src/cairo/c/functions-runtime.d \
       --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
       --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace generated/gtkd/gtkc/gdkpixbuf.d \
+    substituteInPlace generated/gtkd/gdkpixbuf/c/functions.d \
       --replace libgdk_pixbuf-2.0.so.0 ${gdk_pixbuf}/lib/libgdk_pixbuf-2.0.so.0 \
       --replace libgdk_pixbuf-2.0.0.dylib ${gdk_pixbuf}/lib/libgdk_pixbuf-2.0.0.dylib
-    substituteInPlace generated/gtkd/gtkc/atk.d \
+    substituteInPlace generated/gtkd/atk/c/functions.d \
       --replace libatk-1.0.so.0 ${atk}/lib/libatk-1.0.so.0 \
       --replace libatk-1.0.0.dylib ${atk}/lib/libatk-1.0.0.dylib
-    substituteInPlace generated/gtkd/gtkc/pango.d \
+    substituteInPlace generated/gtkd/pango/c/functions.d \
       --replace libpango-1.0.so.0 ${pango.out}/lib/libpango-1.0.so.0 \
       --replace libpangocairo-1.0.so.0 ${pango.out}/lib/libpangocairo-1.0.so.0 \
       --replace libpango-1.0.0.dylib ${pango.out}/lib/libpango-1.0.0.dylib \
       --replace libpangocairo-1.0.0.dylib ${pango.out}/lib/libpangocairo-1.0.0.dylib
-    substituteInPlace generated/gtkd/gtkc/gobject.d \
+    substituteInPlace generated/gtkd/gobject/c/functions.d \
       --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
       --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
-    substituteInPlace generated/gtkd/gtkc/rsvg.d \
+    substituteInPlace generated/gtkd/rsvg/c/functions.d \
       --replace librsvg-2.so.2 ${librsvg}/lib/librsvg-2.so.2 \
       --replace librsvg-2.2.dylib ${librsvg}/lib/librsvg-2.2.dylib
-    substituteInPlace generated/gtkd/gtkc/cairo.d \
+    substituteInPlace generated/gtkd/cairo/c/functions.d \
       --replace libcairo.so.2 ${cairo}/lib/libcairo.so.2 \
       --replace libcairo.dylib ${cairo}/lib/libcairo.dylib
-    substituteInPlace generated/gtkd/gtkc/gdk.d \
+    substituteInPlace generated/gtkd/gdk/c/functions.d \
       --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
       --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib
-    substituteInPlace generated/peas/peasc/peas.d \
+    substituteInPlace generated/peas/peas/c/functions.d \
       --replace libpeas-1.0.so.0 ${libpeas}/lib/libpeas-1.0.so.0 \
       --replace libpeas-gtk-1.0.so.0 ${libpeas}/lib/libpeas-gtk-1.0.so.0 \
       --replace libpeas-1.0.0.dylib ${libpeas}/lib/libpeas-1.0.0.dylib \
       --replace gtk-1.0.0.dylib ${libpeas}/lib/gtk-1.0.0.dylib
-    substituteInPlace generated/vte/vtec/vte.d \
+    substituteInPlace generated/vte/vte/c/functions.d \
       --replace libvte-2.91.so.0 ${vte}/lib/libvte-2.91.so.0 \
       --replace libvte-2.91.0.dylib ${vte}/lib/libvte-2.91.0.dylib
-    substituteInPlace generated/gstreamer/gstreamerc/gstinterfaces.d \
+    substituteInPlace generated/gstreamer/gstinterfaces/c/functions.d \
       --replace libgstvideo-1.0.so.0 ${gst_plugins_base}/lib/libgstvideo-1.0.so.0 \
       --replace libgstvideo-1.0.0.dylib ${gst_plugins_base}/lib/libgstvideo-1.0.0.dylib
-    substituteInPlace generated/sourceview/gsvc/gsv.d \
+    substituteInPlace generated/sourceview/gsv/c/functions.d \
       --replace libgtksourceview-3.0.so.1 ${gtksourceview}/lib/libgtksourceview-3.0.so.1 \
       --replace libgtksourceview-3.0.1.dylib ${gtksourceview}/lib/libgtksourceview-3.0.1.dylib
-    substituteInPlace generated/gtkd/gtkc/glib.d \
+    substituteInPlace generated/gtkd/glib/c/functions.d \
       --replace libglib-2.0.so.0 ${glib.out}/lib/libglib-2.0.so.0 \
       --replace libgmodule-2.0.so.0 ${glib.out}/lib/libgmodule-2.0.so.0 \
       --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
       --replace libglib-2.0.0.dylib ${glib.out}/lib/libglib-2.0.0.dylib \
       --replace libgmodule-2.0.0.dylib ${glib.out}/lib/libgmodule-2.0.0.dylib \
       --replace libgobject-2.0.0.dylib ${glib.out}/lib/libgobject-2.0.0.dylib
-    substituteInPlace generated/gtkd/gtkc/gio.d \
+    substituteInPlace generated/gtkd/gio/c/functions.d \
       --replace libgio-2.0.so.0 ${glib.out}/lib/libgio-2.0.so.0 \
       --replace libgio-2.0.0.dylib ${glib.out}/lib/libgio-2.0.0.dylib
-    substituteInPlace generated/gstreamer/gstreamerc/gstreamer.d \
+    substituteInPlace generated/gstreamer/gstreamer/c/functions.d \
       --replace libgstreamer-1.0.so.0 ${gstreamer}/lib/libgstreamer-1.0.so.0 \
       --replace libgstreamer-1.0.0.dylib ${gstreamer}/lib/libgstreamer-1.0.0.dylib
-    substituteInPlace generated/gtkd/gtkc/gtk.d \
+    substituteInPlace generated/gtkd/gtk/c/functions.d \
       --replace libgdk-3.so.0 ${gtk3}/lib/libgdk-3.so.0 \
       --replace libgtk-3.so.0 ${gtk3}/lib/libgtk-3.so.0 \
       --replace libgdk-3.0.dylib ${gtk3}/lib/libgdk-3.0.dylib \
@@ -84,6 +84,10 @@ stdenv.mkDerivation rec {
 
   installFlags = "prefix=$(out)";
 
+  # Workaround for https://github.com/NixOS/nixpkgs/issues/40397
+  # Remove after update to binutils 2.31
+  dontStrip = true;
+
   inherit atk cairo gdk_pixbuf librsvg pango;
   inherit (gnome3) glib gtk3 gtksourceview libgda libpeas vte;
   inherit (gst_all_1) gstreamer;
diff --git a/pkgs/development/libraries/gtksourceview/3.x.nix b/pkgs/development/libraries/gtksourceview/3.x.nix
index 608c6e7eacd26..fe81c97ab6eb3 100644
--- a/pkgs/development/libraries/gtksourceview/3.x.nix
+++ b/pkgs/development/libraries/gtksourceview/3.x.nix
@@ -21,10 +21,10 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig intltool gettext perl gobjectIntrospection vala_0_40 ]
+  nativeBuildInputs = [ pkgconfig intltool perl gobjectIntrospection vala_0_40 ]
     ++ stdenv.lib.optionals doCheck checkInputs;
 
-  buildInputs = [ atk cairo glib pango libxml2 ];
+  buildInputs = [ atk cairo glib pango libxml2 gettext ];
 
   preBuild = ''
     substituteInPlace gtksourceview/gtksourceview-utils.c --replace "@NIX_SHARE_PATH@" "$out/share"
diff --git a/pkgs/development/libraries/gtkspell/3.nix b/pkgs/development/libraries/gtkspell/3.nix
index 90bc4fc7f8206..d5fc094844a78 100644
--- a/pkgs/development/libraries/gtkspell/3.nix
+++ b/pkgs/development/libraries/gtkspell/3.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant, isocodes, intltool, gobjectIntrospection}:
+{stdenv, fetchurl, gtk3, aspell, pkgconfig, enchant, isocodes, intltool, gobjectIntrospection, vala}:
 
 stdenv.mkDerivation rec {
   name = "gtkspell-${version}";
@@ -11,11 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "09jdicmpipmj4v84gnkqwbmj4lh8v0i6pn967rb9jx4zg2ia9x54";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection vala ];
   buildInputs = [ aspell gtk3 enchant isocodes ];
   propagatedBuildInputs = [ enchant ];
 
-  configureFlags = [ "--enable-introspection" ];
+  configureFlags = [
+    "--enable-introspection"
+    "--enable-vala"
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://gtkspell.sourceforge.net/;
diff --git a/pkgs/development/libraries/gts/default.nix b/pkgs/development/libraries/gts/default.nix
index 59b3a34f7bdd4..d0da7f8cef610 100644
--- a/pkgs/development/libraries/gts/default.nix
+++ b/pkgs/development/libraries/gts/default.nix
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib ] ++ stdenv.lib.optional (stdenv.system == "x86_64-darwin") gettext;
+  buildInputs = [ glib gettext ];
+
+  doCheck = false; # fails with "permission denied"
 
   meta = {
     homepage = http://gts.sourceforge.net/;
diff --git a/pkgs/development/libraries/gupnp-dlna/default.nix b/pkgs/development/libraries/gupnp-dlna/default.nix
index 642e10ea541d3..75818f756921a 100644
--- a/pkgs/development/libraries/gupnp-dlna/default.nix
+++ b/pkgs/development/libraries/gupnp-dlna/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig,  gobjectIntrospection, gupnp, gst_plugins_base }:
+{ stdenv, fetchurl, pkgconfig,  gobjectIntrospection, gupnp, gst-plugins-base }:
 
 stdenv.mkDerivation rec {
   name = "gupnp-dlna-${version}";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
-  buildInputs = [ gupnp gst_plugins_base ];
+  buildInputs = [ gupnp gst-plugins-base ];
 
   meta = {
     homepage = https://wiki.gnome.org/Projects/GUPnP/;
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 67837b345c00d..86cbd01a60261 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, meson, ninja, fetchurl, pkgconfig, gettext, gnome3
+{ stdenv, fetchurl, pkgconfig, gettext, gnome3
 , glib, libgudev, udisks2, libgcrypt, libcap, polkit
 , libgphoto2, avahi, libarchive, fuse, libcdio
 , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_42, samba, libmtp
 , gnomeSupport ? false, gnome, makeWrapper
 , libimobiledevice, libbluray, libcdio-paranoia, libnfs, openssh
-, libsecret, libgdata
+, libsecret, libgdata, python3
 # Remove when switching back to meson
 , autoreconfHook, lzma, bzip2
 }:
@@ -18,16 +18,20 @@
 
 let
   pname = "gvfs";
-  version = "1.36.0";
+  version = "1.36.2";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1fsn6aa9a68cfbna9s00l1ry4ym1fr7ii2f45hzj2fipxfpqihwy";
+    sha256 = "1xq105596sk9yram5a143b369wpaiiwc9gz86n0j1kfr7nipkqn4";
   };
 
+  postPatch = ''
+    patchShebangs test test-driver
+  '';
+
   # Uncomment when switching back to meson
   # postPatch = ''
   #   chmod +x meson_post_install.py # patchShebangs requires executable file
@@ -73,6 +77,10 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  checkInputs = [ python3 ];
+  doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'"
+  doInstallCheck = doCheck;
+
   preFixup = ''
     for f in $out/libexec/*; do
       wrapProgram $f \
diff --git a/pkgs/development/libraries/hamlib/default.nix b/pkgs/development/libraries/hamlib/default.nix
index 3ea70fd49908d..b9cd31432fc3f 100644
--- a/pkgs/development/libraries/hamlib/default.nix
+++ b/pkgs/development/libraries/hamlib/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   pname = "hamlib";
-  version = "1.2.15.3";
+  version = "3.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${name}.tar.gz";
-    sha256 = "0ppp6fc2h9d8p30j2s9wlqd620kmnny4wd8fc3jxd6gxwi4lbjm2";
+    sha256 = "10788mgrhbc57zpzakcxv5aqnr2819pcshml6fbh8zvnkja562y9";
   };
 
   buildInputs = [ perl perlPackages.ExtUtilsMakeMaker python2 swig gd libxml2
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index bb68ae94a7f0b..383f7f60f9bf2 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -1,11 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintlOrEmpty
+{ stdenv, fetchurl, pkgconfig, glib, freetype, cairo, libintl
 , 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
 }:
 
 let
-  version = "1.7.5";
+  version = "1.8.8";
   inherit (stdenv.lib) optional optionals optionalString;
 in
 
@@ -13,25 +16,36 @@ stdenv.mkDerivation {
   name = "harfbuzz${optionalString withIcu "-icu"}-${version}";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
-    sha256 = "84574e1b1f65ca694cb8fb6905309665c0368af18a312357f8ff886ee2f29563";
+    url = "https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-${version}.tar.bz2";
+    sha256 = "1ag3scnm1fcviqgx2p4858y433mr0ndqw6zccnccrqcr9mpcird8";
   };
 
+  postPatch = ''
+    patchShebangs src/gen-def.py
+    patchShebangs test
+  '';
+
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   configureFlags = [
-    ( "--with-graphite2=" + (if withGraphite2 then "yes" else "no") ) # not auto-detected by default
-    ( "--with-icu=" +       (if withIcu       then "yes" else "no") )
-  ];
+    # 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";
+
+  nativeBuildInputs = [ pkgconfig libintl ];
 
-  nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib freetype cairo ] # recommended by upstream
-    ++ libintlOrEmpty;
+    ++ stdenv.lib.optionals withCoreText [ ApplicationServices CoreText ];
+
   propagatedBuildInputs = []
     ++ optional withGraphite2 graphite2
-    ++ optionals withIcu [ icu harfbuzz ]
-    ;
+    ++ optionals withIcu [ icu harfbuzz ];
+
+  checkInputs = [ python ];
+  doInstallCheck = false; # fails, probably a bug
 
   # Slightly hacky; some pkgs expect them in a single directory.
   postInstall = optionalString withIcu ''
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
index 424ffd184994b..20dda589b9cc8 100644
--- a/pkgs/development/libraries/hspell/default.nix
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     version = "1.1";
   };
 
+  PERL_USE_UNSAFE_INC = stdenv.lib.optionalString (stdenv.lib.versionAtLeast (stdenv.lib.getVersion perl) "5.26") "1";
+
   src = fetchurl {
     url = "${meta.homepage}${name}.tar.gz";
     sha256 = "08x7rigq5pa1pfpl30qp353hbdkpadr1zc49slpczhsn0sg36pd6";
@@ -21,6 +23,5 @@ stdenv.mkDerivation rec {
     homepage = http://hspell.ivrix.org.il/;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
-# Note that I don't speak hebrew, so I can only fix compile problems
   };
 }
diff --git a/pkgs/development/libraries/http-parser/default.nix b/pkgs/development/libraries/http-parser/default.nix
index b17fc48c7e9a3..5d4eae4e06392 100644
--- a/pkgs/development/libraries/http-parser/default.nix
+++ b/pkgs/development/libraries/http-parser/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python2Packages, utillinux, fixDarwinDylibNames }:
 
 let
-  version = "2.8.0";
+  version = "2.8.1";
 in stdenv.mkDerivation {
   name = "http-parser-${version}";
 
   src = fetchurl {
     url = "https://github.com/joyent/http-parser/archive/v${version}.tar.gz";
-    sha256 = "17a7k3nxv2p1sp2x5d89wr51vk770753vz6qnlp2gz7nkgwwcxvj";
+    sha256 = "15ids8k2f0xhnnxh4m85w2f78pg5ndiwrpl24kyssznnp1l5yqai";
   };
 
   patches = [ ./build-shared.patch ];
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index ecbfbb7da0b85..b3914a4438b3c 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ ncurses readline ];
   nativeBuildInputs = [ autoreconfHook ];
 
+  postPatch = ''
+    patchShebangs tests
+  '';
+
   autoreconfFlags = "-vfi";
 
   configureFlags = [ "--with-ui" "--with-readline" ];
diff --git a/pkgs/development/libraries/hunspell/dictionaries.nix b/pkgs/development/libraries/hunspell/dictionaries.nix
index f30ec1872baee..9f0a6c34512ff 100644
--- a/pkgs/development/libraries/hunspell/dictionaries.nix
+++ b/pkgs/development/libraries/hunspell/dictionaries.nix
@@ -61,6 +61,51 @@ let
       '';
     };
 
+  mkDictFromDSSO =
+    { shortName, shortDescription, dictFileName }:
+    mkDict rec {
+      inherit dictFileName;
+      version = "2.40";
+      # Should really use a string function or something
+      _version = "2-40";
+      name = "hunspell-dict-${shortName}-dsso-${version}";
+      _name = "ooo_swedish_dict_${_version}";
+      readmeFile = "LICENSE_en_US.txt";
+      src = fetchurl {
+        url = "https://extensions.libreoffice.org/extensions/swedish-spelling-dictionary-den-stora-svenska-ordlistan/${version}/@@download/file/${_name}.oxt";
+        sha256 = "b982881cc75f5c4af1199535bd4735ee476bdc48edf63e3f05fb4f715654a7bc";
+      };
+      meta = with stdenv.lib; {
+        longDescription = ''
+        Svensk ordlista baserad på DSSO (den stora svenska ordlistan) och Göran
+        Anderssons (goran@init.se) arbete med denna. Ordlistan hämtas från
+        LibreOffice då dsso.se inte längre verkar vara med oss.
+        '';
+        description = "Hunspell dictionary for ${shortDescription} from LibreOffice";
+        license = licenses.lgpl3;
+        platforms = platforms.all;
+      };
+      buildInputs = [ unzip ];
+      phases = "unpackPhase installPhase";
+      sourceRoot = ".";
+      unpackCmd = ''
+      unzip $src dictionaries/${dictFileName}.dic dictionaries/${dictFileName}.aff $readmeFile
+      '';
+      installPhase = ''
+        # hunspell dicts
+        install -dm755 "$out/share/hunspell"
+        install -m644 dictionaries/${dictFileName}.dic "$out/share/hunspell/"
+        install -m644 dictionaries/${dictFileName}.aff "$out/share/hunspell/"
+        # myspell dicts symlinks
+        install -dm755 "$out/share/myspell/dicts"
+        ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
+        ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
+        # docs
+        install -dm755 "$out/share/doc"
+        install -m644 ${readmeFile} $out/share/doc/${name}.txt
+      '';
+    };
+
   mkDictFromDicollecte =
     { shortName, shortDescription, longDescription, dictFileName }:
     mkDict rec {
@@ -118,6 +163,7 @@ let
       name = "hunspell-dict-${shortName}-linguistico-${version}";
       readmeFile = dictFileName + "_README.txt";
       meta = with stdenv.lib; {
+        description = "Hunspell dictionary for ${shortDescription}";
         homepage = https://sourceforge.net/projects/linguistico/;
         license = licenses.gpl3;
         maintainers = with maintainers; [ renzo ];
@@ -464,6 +510,21 @@ in {
     ];
   };
 
+  /* SWEDISH */
+  
+  sv-se = mkDictFromDSSO rec {
+    shortName = "sv-se";
+    dictFileName = "sv_SE";
+    shortDescription = "Swedish (Sweden)";
+  };
+
+  # Finlandian Swedish (hello Linus Torvalds)
+  sv-fi = mkDictFromDSSO rec {
+    shortName = "sv-fi";
+    dictFileName = "sv_FI";
+    shortDescription = "Swedish (Finland)";
+  };
+  
   /* GERMAN */
 
   de-de = mkDictFromJ3e {
diff --git a/pkgs/development/libraries/hwloc/default.nix b/pkgs/development/libraries/hwloc/default.nix
index ad39a4fde3192..90a16bcf7f940 100644
--- a/pkgs/development/libraries/hwloc/default.nix
+++ b/pkgs/development/libraries/hwloc/default.nix
@@ -7,11 +7,11 @@ assert x11Support -> libX11 != null && cairo != null;
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "hwloc-1.11.9";
+  name = "hwloc-1.11.10";
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/hwloc/v1.11/downloads/${name}.tar.bz2";
-    sha256 = "0r2im1s5lp7zjwqalcqcnlxx0dsky1bnx5waf2r3rmj888c36hrr";
+    sha256 = "1ryibcng40xcq22lsj85fn2vcvrksdx9rr3wwxpq8dw37lw0is1b";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index edd35bd27e44a..f99aa0b6f0cfa 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
   postPatch = ''
     patchShebangs build/dll-map-makefile-verifier
     patchShebangs build/private-icon-theme-installer
+    substituteInPlace configure --replace lib/mono/2.0/ lib/mono/2.0-api/
     find -name Makefile.in | xargs -n 1 -d '\n' sed -e 's/^dnl/#/' -i
   '';
 
diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix
index 87551ee6ee032..b8ad48326b2bf 100644
--- a/pkgs/development/libraries/icu/base.nix
+++ b/pkgs/development/libraries/icu/base.nix
@@ -1,5 +1,5 @@
 { version, sha256, patches ? [], patchFlags ? "" }:
-{ stdenv, fetchurl, fetchpatch, fixDarwinDylibNames
+{ stdenv, fetchurl, fixDarwinDylibNames
   # Cross-compiled icu4c requires a build-root of a native compile
 , buildRootOnly ? false, nativeBuildRoot, buildPlatform, hostPlatform
 }:
@@ -31,14 +31,14 @@ let
 
       # $(includedir) is different from $(prefix)/include due to multiple outputs
       sed -i -e 's|^\(CPPFLAGS = .*\) -I\$(prefix)/include|\1 -I$(includedir)|' config/Makefile.inc.in
-    '' + stdenv.lib.optionalString stdenv.isArm ''
+    '' + stdenv.lib.optionalString stdenv.isAarch32 ''
       # From https://archlinuxarm.org/packages/armv7h/icu/files/icudata-stdlibs.patch
       sed -e 's/LDFLAGSICUDT=-nodefaultlibs -nostdlib/LDFLAGSICUDT=/' -i config/mh-linux
     '';
 
-    configureFlags = "--disable-debug" +
-      stdenv.lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) " --enable-rpath" +
-      stdenv.lib.optionalString (buildPlatform != hostPlatform) " --with-cross-build=${nativeBuildRoot}";
+    configureFlags = [ "--disable-debug" ]
+      ++ stdenv.lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) "--enable-rpath"
+      ++ stdenv.lib.optional (buildPlatform != hostPlatform) "--with-cross-build=${nativeBuildRoot}";
 
     enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/id3lib/default.nix b/pkgs/development/libraries/id3lib/default.nix
index 199ac7c902b01..dda1435c1dac7 100644
--- a/pkgs/development/libraries/id3lib/default.nix
+++ b/pkgs/development/libraries/id3lib/default.nix
@@ -9,12 +9,14 @@ stdenv.mkDerivation {
   ];
 
   buildInputs = [ zlib ];
-  
+
   src = fetchurl {
     url = mirror://sourceforge/id3lib/id3lib-3.8.3.tar.gz;
     sha256 = "0yfhqwk0w8q2hyv1jib1008jvzmwlpsxvc8qjllhna6p1hycqj97";
   };
 
+  doCheck = false; # fails to compile
+
   meta = {
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/ignition-transport/generic.nix b/pkgs/development/libraries/ignition-transport/generic.nix
index 639af2dd20899..8abff4c5f0592 100644
--- a/pkgs/development/libraries/ignition-transport/generic.nix
+++ b/pkgs/development/libraries/ignition-transport/generic.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, utillinux,
+{ stdenv, cmake, pkgconfig, utillinux,
   protobuf, zeromq, cppzmq,
   version, src    # parametrize version and src so we can easily have pkgs
                   # for different versions
@@ -26,5 +26,6 @@ stdenv.mkDerivation rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ pxc ];
     platforms = platforms.all;
+    broken = true; # 2018-04-10
   };
 }
diff --git a/pkgs/development/libraries/ijs/default.nix b/pkgs/development/libraries/ijs/default.nix
index ed500ca518fd3..a5b226ee9c744 100644
--- a/pkgs/development/libraries/ijs/default.nix
+++ b/pkgs/development/libraries/ijs/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, ghostscript }:
+{ stdenv, autoreconfHook, ghostscript }:
 
 stdenv.mkDerivation {
   name = "ijs-${ghostscript.version}";
diff --git a/pkgs/development/libraries/iksemel/default.nix b/pkgs/development/libraries/iksemel/default.nix
new file mode 100644
index 0000000000000..b97f62dcf25c9
--- /dev/null
+++ b/pkgs/development/libraries/iksemel/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, autoreconfHook, libtool, pkgconfig, gnutls, fetchFromGitHub, texinfo }:
+
+stdenv.mkDerivation rec {
+  name = "iksemel-${version}";
+  version = "1.4.2";
+
+  src = fetchFromGitHub {
+    owner = "timothytylee";
+    repo = "iksemel-1.4";
+    rev = "v${version}";
+    sha256 = "1xv302p344hnpxqcgs3z6wwxhrik39ckgfw5cjyrw0dkf316z9yh";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook libtool texinfo ];
+  buildInputs = [ gnutls ];
+
+  meta = with stdenv.lib; {
+    description = "XML parser for jabber";
+
+    homepage = https://github.com/timothytylee/iksemel-1.4;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ disassembler ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/ilixi/default.nix b/pkgs/development/libraries/ilixi/default.nix
index 0213148d69300..99f6df9c5f065 100644
--- a/pkgs/development/libraries/ilixi/default.nix
+++ b/pkgs/development/libraries/ilixi/default.nix
@@ -14,9 +14,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ directfb libsigcxx libxml2 fontconfig ];
 
-  configureFlags = ''
-    --enable-log-debug --enable-debug --enable-trace --with-examples
-  '';
+  configureFlags = [
+    "--enable-log-debug"
+    "--enable-debug"
+    "--enable-trace"
+    "--with-examples"
+  ];
 
   meta = with stdenv.lib; {
     description = "Lightweight C++ GUI toolkit for embedded Linux systems";
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 956a8667be5f2..3989e941b6b27 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -1,16 +1,18 @@
 { stdenv, fetchurl, automake, autoconf, libtool, which }:
 
 stdenv.mkDerivation rec {
-  name = "ilmbase-2.2.1";
+  name = "ilmbase-${version}";
+  version = "2.3.0";
 
   src = fetchurl {
-    url = "http://download.savannah.nongnu.org/releases/openexr/${name}.tar.gz";
-    sha256 = "17k0hq19wplx9s029kjrq6c51x2ryrfmaavcappkd0g67gk0dhna";
+    url = "https://github.com/openexr/openexr/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "0qiq5bqq9rxhqjiym2k36sx4vq8adgrz6xf6qwizi9bqm78phsa5";
   };
 
   outputs = [ "out" "dev" ];
 
   preConfigure = ''
+    patchShebangs ./bootstrap
     ./bootstrap
   '';
 
@@ -20,6 +22,11 @@ stdenv.mkDerivation rec {
 
   patches = [ ./bootstrap.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;
+
   meta = with stdenv.lib; {
     homepage = http://www.openexr.com/;
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/iml/default.nix b/pkgs/development/libraries/iml/default.nix
index 4af2bba9160d7..b55d13ecc3f4c 100644
--- a/pkgs/development/libraries/iml/default.nix
+++ b/pkgs/development/libraries/iml/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gmp, atlas}:
+{stdenv, autoreconfHook, fetchurl, gmp, openblas}:
 stdenv.mkDerivation rec {
   name = "iml-${version}";
   version = "1.0.5";
@@ -6,8 +6,18 @@ stdenv.mkDerivation rec {
     url = "http://www.cs.uwaterloo.ca/~astorjoh/iml-${version}.tar.bz2";
     sha256 = "0akwhhz9b40bz6lrfxpamp7r7wkk48p455qbn04mfnl9a1l6db8x";
   };
-  buildInputs = [gmp atlas];
-  configureFlags = "--with-gmp-include=${gmp.dev}/include --with-gmp-lib=${gmp}/lib";
+  buildInputs = [
+    gmp
+    openblas
+  ];
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+  configureFlags = [
+    "--with-gmp-include=${gmp.dev}/include"
+    "--with-gmp-lib=${gmp}/lib"
+    "--with-cblas=-lopenblas"
+  ];
   meta = {
     inherit version;
     description = ''Algorithms for computing exact solutions to dense systems of linear equations over the integers'';
diff --git a/pkgs/development/libraries/imlib/default.nix b/pkgs/development/libraries/imlib/default.nix
index 624e401b62f74..2b95742c44c06 100644
--- a/pkgs/development/libraries/imlib/default.nix
+++ b/pkgs/development/libraries/imlib/default.nix
@@ -7,10 +7,11 @@ stdenv.mkDerivation {
     sha256 = "0ggjxyvgp4pxc0b88v40xj9daz90518ydnycw7qax011gxpr12d3";
   };
 
-  configureFlags = "
-    --disable-shm
-    --x-includes=${libX11.dev}/include
-    --x-libraries=${libX11.out}/lib";
+  configureFlags = [
+    "--disable-shm"
+    "--x-includes=${libX11.dev}/include"
+    "--x-libraries=${libX11.out}/lib"
+  ];
 
   buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng];
 
diff --git a/pkgs/development/libraries/indicator-application/gtk3.nix b/pkgs/development/libraries/indicator-application/gtk3.nix
index 3d7c20691ab5d..0235729763513 100644
--- a/pkgs/development/libraries/indicator-application/gtk3.nix
+++ b/pkgs/development/libraries/indicator-application/gtk3.nix
@@ -1,39 +1,30 @@
-{ stdenv, fetchurl, lib, file
-, pkgconfig, autoconf
+{ stdenv, fetchbzr
+, pkgconfig, systemd, autoreconfHook
 , glib, dbus-glib, json-glib
 , gtk3, libindicator-gtk3, libdbusmenu-gtk3, libappindicator-gtk3 }:
 
-with lib;
-
 stdenv.mkDerivation rec {
-  name = "indicator-application-gtk3-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "0";
-
-  src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/indicator-application-${version}.tar.gz";
-    sha256 = "1z8ar0k47l4his7zvffbc2kn658nid51svqnfv0dms601w53gbpr";
+  pname = "indicator-application";
+  version = "12.10.1";
+
+  name = "${pname}-gtk3-${version}";
+
+  src = fetchbzr {
+    url = "https://code.launchpad.net/~indicator-applet-developers/${pname}/trunk.17.04";
+    rev = "260";
+    sha256 = "1f0jdyqqb5g86zdpbcyn16x94yjigsfiv2kf73dvni5rp1vafbq1";
   };
 
-  nativeBuildInputs = [ pkgconfig autoconf ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
   buildInputs = [
-    glib dbus-glib json-glib
+    glib dbus-glib json-glib systemd
     gtk3 libindicator-gtk3 libdbusmenu-gtk3 libappindicator-gtk3
   ];
 
   postPatch = ''
-    substituteInPlace configure.ac \
-      --replace 'DBUSSERVICEDIR=`$PKG_CONFIG --variable=session_bus_services_dir dbus-1`' \
-                "DBUSSERVICEDIR=$out/share/dbus-1/services"
-    autoconf
-    for f in {configure,ltmain.sh,m4/libtool.m4}; do
-      substituteInPlace $f \
-        --replace /usr/bin/file ${file}/bin/file
-    done
-    substituteInPlace src/Makefile.in \
-      --replace 'applicationlibdir = $(INDICATORDIR)' "applicationlibdir = $out/lib"
+    substituteInPlace data/Makefile.am \
+      --replace "/etc/xdg/autostart" "$out/etc/xdg/autostart"
   '';
 
   configureFlags = [
@@ -47,7 +38,16 @@ stdenv.mkDerivation rec {
     "localstatedir=\${TMPDIR}"
   ];
 
-  meta = {
+  PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "$(out)/lib/systemd/user";
+  PKG_CONFIG_INDICATOR3_0_4_INDICATORDIR = "$(out)/lib/indicators3/7/";
+
+  # Upstart is not used in NixOS
+  postFixup = ''
+    rm -rf $out/share/indicator-application/upstart
+    rm -rf $out/share/upstart
+  '';
+
+  meta = with stdenv.lib; {
     description = "Indicator to take menus from applications and place them in the panel";
     homepage = https://launchpad.net/indicator-application;
     license = licenses.gpl3;
diff --git a/pkgs/development/libraries/ip2location-c/default.nix b/pkgs/development/libraries/ip2location-c/default.nix
index 82a4ec3375551..a48908f41dd47 100644
--- a/pkgs/development/libraries/ip2location-c/default.nix
+++ b/pkgs/development/libraries/ip2location-c/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     sha256 = "1gs43qgcyfn83abrkhvvw1s67d1sbkbj3hab9m17ysn6swafiycx";
-    url = "http://www.ip2location.com/downloads/ip2location-c-${version}.tar.gz";
+    url = "https://www.ip2location.com/downloads/ip2location-c-${version}.tar.gz";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/isl/0.11.1.nix b/pkgs/development/libraries/isl/0.11.1.nix
index cdb018d297b64..20a60f1a102db 100644
--- a/pkgs/development/libraries/isl/0.11.1.nix
+++ b/pkgs/development/libraries/isl/0.11.1.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "isl-0.11.1"; # CLooG 0.16.3 fails to build with ISL 0.08.
 
   src = fetchurl {
-    url = "http://src.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
+    url = "https://src.fedoraproject.org/repo/pkgs/gcc/isl-0.11.1.tar.bz2/bce1586384d8635a76d2f017fb067cd2/isl-0.11.1.tar.bz2";
     sha256 = "13d9cqa5rzhbjq0xf0b2dyxag7pqa72xj9dhsa03m8ccr1a4npq9";
   };
 
diff --git a/pkgs/development/libraries/iso-codes/default.nix b/pkgs/development/libraries/iso-codes/default.nix
index 7d07408236e6d..d78c59e9c25a0 100644
--- a/pkgs/development/libraries/iso-codes/default.nix
+++ b/pkgs/development/libraries/iso-codes/default.nix
@@ -1,11 +1,12 @@
-{stdenv, fetchurl, gettext, python3, xz}:
+{stdenv, fetchurl, gettext, python3}:
 
 stdenv.mkDerivation rec {
-  name = "iso-codes-3.74";
+  name = "iso-codes-${version}";
+  version = "3.79";
 
   src = fetchurl {
-    url = "http://pkg-isocodes.alioth.debian.org/downloads/${name}.tar.xz";
-    sha256 = "1vkaxkcx8h8lbg3z3jjfjs1x1rz1l01j6ll46ysza2gym37g7x11";
+    url = "https://salsa.debian.org/iso-codes-team/iso-codes/uploads/ef8de8bc12e0512d26ed73436a477871/${name}.tar.xz";
+    sha256 = "08i8hjy0qjlw9kd9i87jx967ihwh45l2xi55q1aa5265sind7byb";
   };
   patchPhase = ''
     for i in `find . -name \*.py`
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index 10c160eacc6e2..5f6a6f51a5220 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, cmake, libX11, libuuid, xz, vtk }:
+{ stdenv, fetchurl, cmake, libX11, libuuid, xz, vtk }:
 
 stdenv.mkDerivation rec {
   name = "itk-4.13.0";
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
     "-DBUILD_TESTING=OFF"
     "-DBUILD_EXAMPLES=OFF"
     "-DBUILD_SHARED_LIBS=ON"
+    "-DModule_ITKMINC=ON"
     "-DModule_ITKIOMINC=ON"
+    "-DModule_ITKIOTransformMINC=ON"
     "-DModule_ITKVtkGlue=ON"
     "-DModule_ITKReview=ON"
   ];
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index af543c4e19765..de4848c7dda40 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -11,16 +11,27 @@ stdenv.mkDerivation rec {
     sha256 = "0aarg8nbik9wrm7fx0451sbm5ypfdfr6i169pxzi354mpdp8gg7f";
   };
 
+  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";
+  configureFlags = [ "--enable-shared" ];
 
   outputs = [ "bin" "dev" "out" "man" ];
 
   enableParallelBuilding = true;
 
+  doCheck = false; # fails
+
   postInstall = ''
     moveToOutput bin "$bin"
   '';
diff --git a/pkgs/development/libraries/java/commons/compress/default.nix b/pkgs/development/libraries/java/commons/compress/default.nix
index eff57d6f2fd9e..cf9c554d57f4a 100644
--- a/pkgs/development/libraries/java/commons/compress/default.nix
+++ b/pkgs/development/libraries/java/commons/compress/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "1.16.1";
+  version = "1.17";
   name    = "commons-compress-${version}";
 
   src = fetchurl {
     url    = "mirror://apache/commons/compress/binaries/${name}-bin.tar.gz";
-    sha256 = "0yz2m3qac1idg9346i64mjfrkq4kniajzx2manyybhj43v9dpx37";
+    sha256 = "1ydm6mhy0kja47mns674iyrhz5mqlhhnh2l8rglzxnq5iawpi2m0";
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/java/dbus-java/default.nix b/pkgs/development/libraries/java/dbus-java/default.nix
index 23adfd80caac4..daee9adb1fdce 100644
--- a/pkgs/development/libraries/java/dbus-java/default.nix
+++ b/pkgs/development/libraries/java/dbus-java/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "dbus-java-2.7";
   src = fetchurl {
-    url = http://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.7.tar.gz;
+    url = https://dbus.freedesktop.org/releases/dbus-java/dbus-java-2.7.tar.gz;
     sha256 = "0cyaxd8x6sxmi6pklkkx45j311a6w51fxl4jc5j3inc4cailwh5y";
   };
   JAVA_HOME=jdk;
diff --git a/pkgs/development/libraries/java/geoipjava/default.nix b/pkgs/development/libraries/java/geoipjava/default.nix
index 13b4df395e505..6af8885464a31 100644
--- a/pkgs/development/libraries/java/geoipjava/default.nix
+++ b/pkgs/development/libraries/java/geoipjava/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "GeoIPJava-1.2.5";
   src = fetchurl {
-    url = http://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-1.2.5.zip;
+    url = https://geolite.maxmind.com/download/geoip/api/java/GeoIPJava-1.2.5.zip;
     sha256 = "1gb2d0qvvq7xankz7l7ymbr3qprwk9bifpy4hlgw0sq4i6a55ypd";
   };
   buildInputs = [ jdk unzip ];
diff --git a/pkgs/development/libraries/java/hsqldb/default.nix b/pkgs/development/libraries/java/hsqldb/default.nix
index ad849a4d6d53c..97ffcb647d621 100644
--- a/pkgs/development/libraries/java/hsqldb/default.nix
+++ b/pkgs/development/libraries/java/hsqldb/default.nix
@@ -2,12 +2,12 @@
 }:
 
 stdenv.mkDerivation {
-  name = "hsqldb-1.8.0.9";
+  name = "hsqldb-2.4.0";
   builder = ./builder.sh;
 
   src = fetchurl {
     url = mirror://sourceforge/hsqldb/hsqldb_1_8_0_9.zip;
-    sha256 = "e98d1d8bca15059f4ef4f0d3dde2d75778a5e1bbe8bc12abd4ec2cac39d5adec";
+    sha256 = "1v5dslwsqb7csjmi5g78pghsay2pszidvlzhyi79y18mra5iv3g9";
   };
 
   buildInputs = [ unzip
diff --git a/pkgs/development/libraries/java/libmatthew-java/default.nix b/pkgs/development/libraries/java/libmatthew-java/default.nix
index 8775353316989..ad5192f94ce22 100644
--- a/pkgs/development/libraries/java/libmatthew-java/default.nix
+++ b/pkgs/development/libraries/java/libmatthew-java/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libmatthew-java-0.8";
   src = fetchurl {
-    url = http://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz;
+    url = https://src.fedoraproject.org/repo/pkgs/libmatthew-java/libmatthew-java-0.8.tar.gz/8455b8751083ce25c99c2840609271f5/libmatthew-java-0.8.tar.gz;
     sha256 = "1yldkhsdzm0a41a0i881bin2jklhp85y3ah245jd6fz3npcx7l85";
   };
   JAVA_HOME=jdk;
diff --git a/pkgs/development/libraries/java/lombok/default.nix b/pkgs/development/libraries/java/lombok/default.nix
index df9b3f96c8717..5ec4634d6323e 100644
--- a/pkgs/development/libraries/java/lombok/default.nix
+++ b/pkgs/development/libraries/java/lombok/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "lombok-1.16.20";
+  name = "lombok-1.16.22";
 
   src = fetchurl {
     url = "https://projectlombok.org/downloads/${name}.jar";
-    sha256 = "0v8fq4qlpjh4b87xx35m32y2xpnj4d05xflrgghia6mar8c8n5y5";
+    sha256 = "1hr2jjlqdnxrw7ablqkf7ljc6n2q6a04ww14di06zs6i3l82zzpa";
   };
 
   buildCommand = ''
diff --git a/pkgs/development/libraries/java/smack/default.nix b/pkgs/development/libraries/java/smack/default.nix
index c39478e590ddf..e28925c65bb28 100644
--- a/pkgs/development/libraries/java/smack/default.nix
+++ b/pkgs/development/libraries/java/smack/default.nix
@@ -11,5 +11,6 @@ stdenv.mkDerivation {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.asl20;
   };
 }
diff --git a/pkgs/development/libraries/jbig2dec/default.nix b/pkgs/development/libraries/jbig2dec/default.nix
index 8731bd8e73664..cc838be0f4f0f 100644
--- a/pkgs/development/libraries/jbig2dec/default.nix
+++ b/pkgs/development/libraries/jbig2dec/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch }:
+{ stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
   name = "jbig2dec-0.14";
@@ -8,6 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "0k01hp0q4275fj4rbr1gy64svfraw5w7wvwl08yjhvsnpb1rid11";
   };
 
+  postPatch = ''
+    patchShebangs test_jbig2dec.py
+  '';
+
+  checkInputs = [ python ];
+  doCheck = false; # fails 1 of 4 tests
+
   meta = {
     homepage = https://www.ghostscript.com/jbig2dec.html;
     description = "Decoder implementation of the JBIG2 image compression format";
diff --git a/pkgs/development/libraries/jbigkit/default.nix b/pkgs/development/libraries/jbigkit/default.nix
index 6435e9fc32da7..321ebb46e4634 100644
--- a/pkgs/development/libraries/jbigkit/default.nix
+++ b/pkgs/development/libraries/jbigkit/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "jbigkit-2.1";
 
   src = fetchurl {
-    url = "http://www.cl.cam.ac.uk/~mgk25/jbigkit/download/${name}.tar.gz";
+    url = "https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/${name}.tar.gz";
     sha256 = "0cnrcdr1dwp7h7m0a56qw09bv08krb37mpf7cml5sjdgpyv0cwfy";
   };
 
diff --git a/pkgs/development/libraries/jemalloc/common.nix b/pkgs/development/libraries/jemalloc/common.nix
new file mode 100644
index 0000000000000..d8866ae3ff891
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/common.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchurl, version, sha256, ... }@args:
+
+stdenv.mkDerivation (rec {
+  name = "jemalloc-${version}";
+  inherit version;
+
+  src = fetchurl {
+    url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
+    inherit sha256;
+  };
+
+  # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
+  # then stops downstream builds (mariadb in particular) from detecting it. This
+  # option should remove the prefix and give us a working jemalloc.
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
+                   # jemalloc is unable to correctly detect transparent hugepage support on
+                   # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
+                   # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
+                   ++ stdenv.lib.optional stdenv.isAarch32 "--disable-thp";
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://jemalloc.net;
+    description = "General purpose malloc(3) implementation";
+    longDescription = ''
+      malloc(3)-compatible memory allocator that emphasizes fragmentation
+      avoidance and scalable concurrency support.
+    '';
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington ];
+  };
+} // (builtins.removeAttrs args [ "stdenv" "fetchurl" "version" "sha256" ]))
diff --git a/pkgs/development/libraries/jemalloc/default.nix b/pkgs/development/libraries/jemalloc/default.nix
index 0882431cc15be..40c06cbffdf01 100644
--- a/pkgs/development/libraries/jemalloc/default.nix
+++ b/pkgs/development/libraries/jemalloc/default.nix
@@ -1,40 +1,10 @@
 { stdenv, fetchurl, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  name = "jemalloc-${version}";
+import ./common.nix {
+  inherit stdenv fetchurl;
   version = "5.0.1";
-
-  src = fetchurl {
-    url = "https://github.com/jemalloc/jemalloc/releases/download/${version}/${name}.tar.bz2";
-    sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
-  };
-
-  # By default, jemalloc puts a je_ prefix onto all its symbols on OSX, which
-  # then stops downstream builds (mariadb in particular) from detecting it. This
-  # option should remove the prefix and give us a working jemalloc.
-  configureFlags = stdenv.lib.optional stdenv.isDarwin "--with-jemalloc-prefix="
-                   # jemalloc is unable to correctly detect transparent hugepage support on
-                   # ARM (https://github.com/jemalloc/jemalloc/issues/526), and the default
-                   # kernel ARMv6/7 kernel does not enable it, so we explicitly disable support
-                   ++ stdenv.lib.optional stdenv.isArm "--disable-thp";
-  doCheck = true;
-
+  sha256 = "4814781d395b0ef093b21a08e8e6e0bd3dab8762f9935bbfb71679b0dea7c3e9";
   patches = stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
     url = "https://patch-diff.githubusercontent.com/raw/jemalloc/jemalloc/pull/1035.patch";
     sha256 = "02y0q3dp253bipxv4r954nqipbjbj92p6ww9bx5bk3d8pa81wkqq";
   });
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://jemalloc.net;
-    description = "General purpose malloc(3) implementation";
-    longDescription = ''
-      malloc(3)-compatible memory allocator that emphasizes fragmentation
-      avoidance and scalable concurrency support.
-    '';
-    license = licenses.bsd2;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ wkennington ];
-  };
 }
diff --git a/pkgs/development/libraries/jemalloc/jemalloc450.nix b/pkgs/development/libraries/jemalloc/jemalloc450.nix
new file mode 100644
index 0000000000000..00b38a855532f
--- /dev/null
+++ b/pkgs/development/libraries/jemalloc/jemalloc450.nix
@@ -0,0 +1,6 @@
+{ stdenv, fetchurl }:
+import ./common.nix {
+  inherit stdenv fetchurl;
+  version = "4.5.0";
+  sha256 = "10373xhpc10pgmai9fkc1z0rs029qlcb3c0qfnvkbwdlcibdh2cl";
+}
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index bf32f4f8e8bcb..be83dbc52f455 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,23 +1,21 @@
 { stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext
-, gobjectIntrospection, dbus, libintlOrEmpty
-, fixDarwinDylibNames
+, gobjectIntrospection, fixDarwinDylibNames, gnome3
 }:
 
-stdenv.mkDerivation rec {
-  name = "json-glib-${minVer}.2";
-  minVer = "1.4";
+let
+  pname = "json-glib";
+  version = "1.4.2";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/json-glib/${minVer}/${name}.tar.xz";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
     sha256 = "2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8";
   };
 
   propagatedBuildInputs = [ glib ];
   nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
-  buildInputs = libintlOrEmpty
-    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  buildInputs = stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
   patches = [
     # https://gitlab.gnome.org/GNOME/json-glib/issues/27
@@ -31,9 +29,15 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
-    homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
+    homepage = https://wiki.gnome.org/Projects/JsonGlib;
     license = licenses.lgpl2;
     maintainers = with maintainers; [ lethalman ];
     platforms = with platforms; unix;
diff --git a/pkgs/development/libraries/jsonrpc-glib/default.nix b/pkgs/development/libraries/jsonrpc-glib/default.nix
new file mode 100644
index 0000000000000..a73122d8253e4
--- /dev/null
+++ b/pkgs/development/libraries/jsonrpc-glib/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, meson, ninja, glib, json-glib, pkgconfig, gobjectIntrospection, vala, gtk-doc, docbook_xsl, docbook_xml_dtd_43, gnome3 }:
+let
+  version = "3.28.1";
+  pname = "jsonrpc-glib";
+in
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection vala gtk-doc docbook_xsl docbook_xml_dtd_43 ];
+  buildInputs = [ glib json-glib ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "0avff2ldjvwrb8rnzlgslagdjf6x7bmdx69rsq20k6f38icw4ang";
+  };
+
+  mesonFlags = [
+    "-Denable_gtk_doc=true"
+  ];
+
+  # Tests fail non-deterministically
+  # https://gitlab.gnome.org/GNOME/jsonrpc-glib/issues/2
+  doCheck = false;
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A library to communicate using the JSON-RPC 2.0 specification";
+    homepage = https://gitlab.gnome.org/GNOME/jsonrpc-glib;
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/kdb/default.nix b/pkgs/development/libraries/kdb/default.nix
index e85190cdfcec9..1dedd3836c29e 100644
--- a/pkgs/development/libraries/kdb/default.nix
+++ b/pkgs/development/libraries/kdb/default.nix
@@ -6,12 +6,12 @@
 
 mkDerivation rec {
   pname = "kdb";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1n11xhqk3sf4a5nzvnrnj7bj21yqqqkm2d1xzfx3q82fkyah8s49";
+    sha256 = "1wi9z7j0nr9wi6aqqkdcpnr38ixyxbv00sblya7pakdf96hlamhp";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 08eebfd83aeec..ea8f30f0bba2d 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -129,6 +129,7 @@ let
       syntax-highlighting = callPackage ./syntax-highlighting.nix {};
       threadweaver = callPackage ./threadweaver.nix {};
       kirigami2 = callPackage ./kirigami2.nix {};
+      kholidays = callPackage ./kholidays.nix {};
 
     # TIER 2
       kactivities = callPackage ./kactivities.nix {};
@@ -154,6 +155,7 @@ let
       kded = callPackage ./kded.nix {};
       kdesignerplugin = callPackage ./kdesignerplugin.nix {};
       kdesu = callPackage ./kdesu.nix {};
+      kdewebkit = callPackage ./kdewebkit.nix {};
       kemoticons = callPackage ./kemoticons.nix {};
       kglobalaccel = callPackage ./kglobalaccel.nix {};
       kiconthemes = callPackage ./kiconthemes {};
@@ -171,6 +173,7 @@ let
       kxmlgui = callPackage ./kxmlgui.nix {};
       kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
       plasma-framework = callPackage ./plasma-framework.nix {};
+      kpurpose = callPackage ./purpose.nix {};
 
     # TIER 4
       frameworkintegration = callPackage ./frameworkintegration.nix {};
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
index a74340a6dc969..66f10f4abc1e6 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/nix-lib-path.patch
@@ -1,21 +1,23 @@
-Index: extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
-===================================================================
---- extra-cmake-modules-5.18.0.orig/kde-modules/KDEInstallDirs.cmake
-+++ extra-cmake-modules-5.18.0/kde-modules/KDEInstallDirs.cmake
-@@ -200,32 +200,6 @@
+diff --git a/kde-modules/KDEInstallDirs.cmake b/kde-modules/KDEInstallDirs.cmake
+index 52b2eb2..a04596c 100644
+--- a/kde-modules/KDEInstallDirs.cmake
++++ b/kde-modules/KDEInstallDirs.cmake
+@@ -232,34 +232,6 @@
  # GNUInstallDirs code deals with re-configuring, but that is dealt with
  # by the _define_* macros in this module).
  set(_LIBDIR_DEFAULT "lib")
 -# Override this default 'lib' with 'lib64' iff:
 -#  - we are on a Linux, kFreeBSD or Hurd system but NOT cross-compiling
 -#  - we are NOT on debian
+-#  - we are NOT on flatpak
 -#  - we are on a 64 bits system
 -# reason is: amd64 ABI: http://www.x86-64.org/documentation/abi.pdf
 -# For Debian with multiarch, use 'lib/${CMAKE_LIBRARY_ARCHITECTURE}' if
 -# CMAKE_LIBRARY_ARCHITECTURE is set (which contains e.g. "i386-linux-gnu"
 -# See http://wiki.debian.org/Multiarch
 -if((CMAKE_SYSTEM_NAME MATCHES "Linux|kFreeBSD" OR CMAKE_SYSTEM_NAME STREQUAL "GNU")
--   AND NOT CMAKE_CROSSCOMPILING)
+-   AND NOT CMAKE_CROSSCOMPILING
+-   AND NOT DEFINED ENV{FLATPAK_ID})
 -  if (EXISTS "/etc/debian_version") # is this a debian system ?
 -    if(CMAKE_LIBRARY_ARCHITECTURE)
 -      set(_LIBDIR_DEFAULT "lib/${CMAKE_LIBRARY_ARCHITECTURE}")
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 85a49ce6b6cda..48f009f8d3e0a 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.44/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.49/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
index cd5f2163dd955..d5a407ee16f26 100644
--- a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, fetchurl, writeScript,
+  mkDerivation, lib,
   extra-cmake-modules,
   qtbase, qttools, shared-mime-info
 }:
diff --git a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
index 7aabeb021545e..34e01b4c1b623 100644
--- a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
@@ -1,7 +1,7 @@
 {
   mkDerivation, lib, extra-cmake-modules,
   epoxy, kconfig, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage,
-  kwidgetsaddons, kwindowsystem, pkgconfig, qtdeclarative
+  kwidgetsaddons, kwindowsystem, qtdeclarative
 }:
 
 mkDerivation {
diff --git a/pkgs/development/libraries/kde-frameworks/kdewebkit.nix b/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
new file mode 100644
index 0000000000000..b7dcfb7fe64cd
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/kdewebkit.nix
@@ -0,0 +1,11 @@
+{ mkDerivation, extra-cmake-modules
+, kconfig, kcoreaddons, kio, kparts, qtwebkit
+}:
+
+mkDerivation {
+  name = "kdewebkit";
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ kconfig kcoreaddons kio kparts ];
+  propagatedBuildInputs = [ qtwebkit ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
index 0a600fe8d0570..68b5c08aa0909 100644
--- a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
@@ -1,6 +1,6 @@
 {
   mkDerivation, lib,
-  extra-cmake-modules, docbook_xml_dtd_45, docbook5_xsl,
+  extra-cmake-modules, docbook_xml_dtd_45, docbook_xsl_ns,
   karchive, ki18n, qtbase,
   perl, perlPackages
 }:
@@ -24,7 +24,7 @@ mkDerivation {
   patches = [ ./kdoctools-no-find-docbook-xml.patch ];
   cmakeFlags = [
     "-DDocBookXML4_DTD_DIR=${docbook_xml_dtd_45}/xml/dtd/docbook"
-    "-DDocBookXSL_DIR=${docbook5_xsl}/xml/xsl/docbook"
+    "-DDocBookXSL_DIR=${docbook_xsl_ns}/xml/xsl/docbook"
   ];
   postFixup = ''
     moveToOutput "share/doc" "$dev"
diff --git a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
index ae945ab73384e..ca015151e0f1c 100644
--- a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
+++ b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib,
+  mkDerivation,
   extra-cmake-modules,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kservice, kwindowsystem,
   qtbase, qttools, qtx11extras,
diff --git a/pkgs/development/libraries/kde-frameworks/kholidays.nix b/pkgs/development/libraries/kde-frameworks/kholidays.nix
new file mode 100644
index 0000000000000..2ede69e74953d
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/kholidays.nix
@@ -0,0 +1,16 @@
+{
+  mkDerivation, lib,
+  extra-cmake-modules, kdoctools,
+  qtbase, qtdeclarative, qttools,
+}:
+
+mkDerivation {
+  name = "kholidays";
+  meta = {
+    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
+    maintainers = with lib.maintainers; [ bkchr ];
+  };
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  buildInputs = [ qtbase qtdeclarative qttools ];
+  outputs = [ "out" "dev" ];
+}
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index c0b4b63128610..6779faa50cdcf 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, fetchurl, lib, copyPathsToStore,
+  mkDerivation, lib, copyPathsToStore,
   extra-cmake-modules, kdoctools,
   karchive, kconfig, kcoreaddons, ki18n, qtbase,
 }:
diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
index 3efd4cf4e2a8b..c633aee30a1be 100644
--- a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
@@ -1,5 +1,5 @@
 {
-  mkDerivation, lib, copyPathsToStore, fetchpatch,
+  mkDerivation, lib,
   extra-cmake-modules, perl,
   karchive, kconfig, kguiaddons, ki18n, kiconthemes, kio, kparts, libgit2,
   qtscript, qtxmlpatterns, sonnet, syntax-highlighting, qtquickcontrols
diff --git a/pkgs/development/libraries/kde-frameworks/purpose.nix b/pkgs/development/libraries/kde-frameworks/purpose.nix
new file mode 100644
index 0000000000000..147c4123a105e
--- /dev/null
+++ b/pkgs/development/libraries/kde-frameworks/purpose.nix
@@ -0,0 +1,14 @@
+{
+  mkDerivation, lib, extra-cmake-modules, qtbase
+, qtdeclarative, kconfig, kcoreaddons, ki18n, kio
+}:
+
+mkDerivation {
+  name = "purpose";
+  meta = { maintainers = [ lib.maintainers.bkchr ]; };
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [
+    qtbase qtdeclarative kconfig kcoreaddons 
+    ki18n kio
+  ];
+}
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 84cbbe798fc1f..4f866974b61ba 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,627 +3,627 @@
 
 {
   attica = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/attica-5.44.0.tar.xz";
-      sha256 = "1ac2k3rc5dd5sc9n8qdb1d6jssjpag709sfsnvif1cvp0j8s2xj3";
-      name = "attica-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/attica-5.49.0.tar.xz";
+      sha256 = "1iqclahs9yzyjnkzbzr8hl9j6q8m2djdm6mix92xwrakgirnl3gn";
+      name = "attica-5.49.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/baloo-5.44.0.tar.xz";
-      sha256 = "0ybxl05njryk7zrdcwh4gbvxbn7n6xb51y2587d9bxiizasmbbiy";
-      name = "baloo-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/baloo-5.49.0.tar.xz";
+      sha256 = "0xj12v0k58sr3snxyj4vx7dqhinrvk6qm0ikymscqgbmw9ijwxph";
+      name = "baloo-5.49.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/bluez-qt-5.44.0.tar.xz";
-      sha256 = "054zh3hc7wq13iks3nryzdns61wb56j2cvvfvsnv3yl9ni6i6wxv";
-      name = "bluez-qt-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/bluez-qt-5.49.0.tar.xz";
+      sha256 = "0mgnq7w52ksr8b7ys2f1m3irnviy011bsaggh489fjy0xlzk5ard";
+      name = "bluez-qt-5.49.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/breeze-icons-5.44.0.tar.xz";
-      sha256 = "05ndqmprwv4dd8aib3sjmvd5481znq4jg58cpk4id1xxq4dgx9gg";
-      name = "breeze-icons-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/breeze-icons-5.49.0.tar.xz";
+      sha256 = "178620hhqlv6dl8qal2bmiw55s8b3p4h16q8cgkmq5q5i59nzcph";
+      name = "breeze-icons-5.49.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/extra-cmake-modules-5.44.0.tar.xz";
-      sha256 = "121gwj54f7bns386wrw6rwqmwzsny93mb00sxxzf3ic8m6mw6wis";
-      name = "extra-cmake-modules-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/extra-cmake-modules-5.49.0.tar.xz";
+      sha256 = "07pdgjyrxniacqcfvrzw8ij3kasx5pkbq38k6491qbhzfm8vi7y0";
+      name = "extra-cmake-modules-5.49.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/frameworkintegration-5.44.0.tar.xz";
-      sha256 = "10rqabchldra16zb0ryynvjimc67di3r4b29fbn47wg4pwj0jn41";
-      name = "frameworkintegration-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/frameworkintegration-5.49.0.tar.xz";
+      sha256 = "1ni4jrny630zf3zwmqbm8z7dqgiar58992lylfv7kspdg5crcgfx";
+      name = "frameworkintegration-5.49.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kactivities-5.44.0.tar.xz";
-      sha256 = "1j5v03mgh0prql51hy468k2vhskg1gyddhjlb8qlyzyzqz1aj82c";
-      name = "kactivities-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kactivities-5.49.0.tar.xz";
+      sha256 = "117f3zrdbs0pa10wn7vy691n02m01h6x4pm8m1q3f4pjm0k4kqim";
+      name = "kactivities-5.49.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kactivities-stats-5.44.0.tar.xz";
-      sha256 = "1p1vznw8qxdasb82cvjc35wnhvfhjhapx3r451kl3ly4cbjf39fg";
-      name = "kactivities-stats-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kactivities-stats-5.49.0.tar.xz";
+      sha256 = "129z2m5330j0l1nw8g3qjib60xmx54c6d2g9vnp4w8z0agnihs5f";
+      name = "kactivities-stats-5.49.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kapidox-5.44.0.tar.xz";
-      sha256 = "0mn67ckxhsav70jk1wj5qci07qyy0291rm7q54qmcl6p7a7a0vj4";
-      name = "kapidox-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kapidox-5.49.0.tar.xz";
+      sha256 = "09jph3hvasqx1ia0l7is9brc08nxvh9qmg8564nh5cmqaxdwj559";
+      name = "kapidox-5.49.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/karchive-5.44.0.tar.xz";
-      sha256 = "00mvn9rsc4lb2kamfz2xzmm0a0s1m68ar65dcfrp0n2i8plxin5j";
-      name = "karchive-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/karchive-5.49.0.tar.xz";
+      sha256 = "1p1gwqda2bsjdysp4ggwdsldbasyfl075xn3wchqyakdv2bdzmn0";
+      name = "karchive-5.49.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kauth-5.44.0.tar.xz";
-      sha256 = "1ph2jlbwx27g9awfvkvrynnfwyr8yqq4x7w4msn1clh8nz9c9n0k";
-      name = "kauth-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kauth-5.49.0.tar.xz";
+      sha256 = "0qg3zwg3kfx2snmvsw4ixr0qds7bd7992dxggvi9dcny7dm9q0n8";
+      name = "kauth-5.49.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kbookmarks-5.44.0.tar.xz";
-      sha256 = "04wwg9s3i3nj7im0cscdzb3c78lqg96k7vyg9ziyn2cpqmj6gihr";
-      name = "kbookmarks-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kbookmarks-5.49.0.tar.xz";
+      sha256 = "0clmfdcc1fc98q3vbfjf8x140a6df88ixhz0mny3dpv1wcr5cz53";
+      name = "kbookmarks-5.49.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kcmutils-5.44.0.tar.xz";
-      sha256 = "1fddjg89az0gfcl9gf3r7rq7hw9j8k10mvlvzq31x89hn8h7kafs";
-      name = "kcmutils-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kcmutils-5.49.0.tar.xz";
+      sha256 = "0xv899p9f0hj6hd089mhn910qn66bihzpaa11ikrhbimckw8g19q";
+      name = "kcmutils-5.49.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kcodecs-5.44.0.tar.xz";
-      sha256 = "15fv3f2akjz8n65rj6r2nd5zzc4wsz67zc80bp45kqynrb1jgcjk";
-      name = "kcodecs-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kcodecs-5.49.0.tar.xz";
+      sha256 = "07va63gsfjrc5ha9rdli923cwyzxpb3v8xgf1zfhw75cfkgda3nz";
+      name = "kcodecs-5.49.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kcompletion-5.44.0.tar.xz";
-      sha256 = "1fy2krnxxppax13jb82zsfxky9n01z28d3kw4jx58yw1b1jm9ha4";
-      name = "kcompletion-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kcompletion-5.49.0.tar.xz";
+      sha256 = "16br6wnqzndk8v41im23h2ww4hypi2i1qfg6m9c49mpxflgmspbi";
+      name = "kcompletion-5.49.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kconfig-5.44.0.tar.xz";
-      sha256 = "1vfl7jchlrw8hkf613nb9a4f0dxyppkc97506xsknxwf1z5v7cmm";
-      name = "kconfig-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kconfig-5.49.0.tar.xz";
+      sha256 = "0cb3crnlr8hr5npq3ykfxqd4yckmkykzrrizfs89ryhmznc2ngsf";
+      name = "kconfig-5.49.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kconfigwidgets-5.44.0.tar.xz";
-      sha256 = "15a7k8ai70a061gw91aps282v1f4sric0fhyw2fysfdfv6ry92rz";
-      name = "kconfigwidgets-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kconfigwidgets-5.49.0.tar.xz";
+      sha256 = "1nqcrqr67m3kvq2r83x45zcdghk12bas9fp0s43s68imrhy5xikz";
+      name = "kconfigwidgets-5.49.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kcoreaddons-5.44.0.tar.xz";
-      sha256 = "0lwxa326gap83qjw1dsj330qd3klgm6jwr7d77f7hyhm95d7pidl";
-      name = "kcoreaddons-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kcoreaddons-5.49.0.tar.xz";
+      sha256 = "00s22jvbwav20cidnp8v9fgc6pqbp4wnqkb2spv18mjhg4pv3bqj";
+      name = "kcoreaddons-5.49.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kcrash-5.44.0.tar.xz";
-      sha256 = "01dcj5cyqqn2jb6mjshjcf48jdjhmjhkqxbhhx07dy7r56r4sqp1";
-      name = "kcrash-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kcrash-5.49.0.tar.xz";
+      sha256 = "0xmr9rrl0xahpnq1rw4bbar1nbr21x2bk4hhv79la6dsg9ha25b3";
+      name = "kcrash-5.49.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdbusaddons-5.44.0.tar.xz";
-      sha256 = "15b7nyivkrv7s2hdahsv27p8j6q80209ayqvi3dzlhzj2b5qqzkg";
-      name = "kdbusaddons-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdbusaddons-5.49.0.tar.xz";
+      sha256 = "1fnmrrffp3kfwyjfzqkzlizflpyqgzbjljb51ppmdypcq8wy9ibh";
+      name = "kdbusaddons-5.49.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdeclarative-5.44.0.tar.xz";
-      sha256 = "0byggaxfkna0iqlhp970fx8kp926dc6m99xihvja1765525i1lj0";
-      name = "kdeclarative-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdeclarative-5.49.0.tar.xz";
+      sha256 = "0kgawb8wfx4snk2ckwxj0hmpgcvq3k1zpsxqdawi4cmsy4bxzfs9";
+      name = "kdeclarative-5.49.0.tar.xz";
     };
   };
   kded = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kded-5.44.0.tar.xz";
-      sha256 = "04sdsz5frwff602ls3mqwijckl3kl64lanhhpmzxc33xdniff9as";
-      name = "kded-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kded-5.49.0.tar.xz";
+      sha256 = "1l6hs3spbs3618jwg3n7r3hrrkqxmmd43f0km8849x4641p72zyc";
+      name = "kded-5.49.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/portingAids/kdelibs4support-5.44.0.tar.xz";
-      sha256 = "1cyxry09qnlbc2khaqjpb598f4rscg80dmjcqhlsn6b1375iqkjn";
-      name = "kdelibs4support-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/portingAids/kdelibs4support-5.49.0.tar.xz";
+      sha256 = "1cz70c77l66lbw4fbgmfbq1fldybqxsiay2pg9risgqp3ra8wahi";
+      name = "kdelibs4support-5.49.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdesignerplugin-5.44.0.tar.xz";
-      sha256 = "1fh4nw8qh563yc2parqlbrjzx6avi4gi01jzclf4bxv78zs4957a";
-      name = "kdesignerplugin-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdesignerplugin-5.49.0.tar.xz";
+      sha256 = "0hj4ng0i22rvw4kl0irhqhww3kvn4c0pncn38w1j5vim4gxv0xcd";
+      name = "kdesignerplugin-5.49.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdesu-5.44.0.tar.xz";
-      sha256 = "1p6bk7cnngwqklvm6aj5xlna6c5r6rznfbvdn7zz5h3wpzs8pqz2";
-      name = "kdesu-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdesu-5.49.0.tar.xz";
+      sha256 = "1gwvby51qqbkrs2vjpnplxr6m6xa5ddfdjs1iygh8kpqsh8a765k";
+      name = "kdesu-5.49.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdewebkit-5.44.0.tar.xz";
-      sha256 = "07mr4x55pp6wvbgnkggwalrqx9z8y9q1mmn79jkyhf2q905ynsmj";
-      name = "kdewebkit-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdewebkit-5.49.0.tar.xz";
+      sha256 = "05idyw94ayjh7qdia9pnjmx29r5lsch421kv8h5ivr7ixcbrgk6n";
+      name = "kdewebkit-5.49.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdnssd-5.44.0.tar.xz";
-      sha256 = "18x43l7ni7jwfpch4hngiyz5w05z48q8wmhm38gz3jw09w9npgi4";
-      name = "kdnssd-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdnssd-5.49.0.tar.xz";
+      sha256 = "1n61id2x1iianshg8g6fw389mqihz4h8sj9hnng7cdg4csh72ffr";
+      name = "kdnssd-5.49.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kdoctools-5.44.0.tar.xz";
-      sha256 = "146crn9arrbi6ha7p5p0x7zmwlz86my067rif0v7j48xmmz6h5i3";
-      name = "kdoctools-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kdoctools-5.49.0.tar.xz";
+      sha256 = "1dmpk453s71ls0q8hgpqqd5dcr7zlimf5wykizcy2wn7p77gzsgl";
+      name = "kdoctools-5.49.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kemoticons-5.44.0.tar.xz";
-      sha256 = "1ggwyzs22907kxgapqi7md3ng1ry85gccyxbqvn638inxk299mla";
-      name = "kemoticons-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kemoticons-5.49.0.tar.xz";
+      sha256 = "0mz9hkhnprjbrfq54mqcvj8w87h025785m1bas80brsqzvni5krn";
+      name = "kemoticons-5.49.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kfilemetadata-5.44.0.tar.xz";
-      sha256 = "0v8xdl0wgp67ykw5czxzvzsqzijg0qpkm5vjc9rnai7zaymxg7bg";
-      name = "kfilemetadata-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kfilemetadata-5.49.0.tar.xz";
+      sha256 = "045k1mgn8kg0qfsr5sl1499nzhzmbcvrqc205pmq6sh4r14nvk80";
+      name = "kfilemetadata-5.49.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kglobalaccel-5.44.0.tar.xz";
-      sha256 = "16qhf6kb6q85p6y9zh72b4rz0ikmahvhyzmrx0jd1r044g4j81wn";
-      name = "kglobalaccel-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kglobalaccel-5.49.0.tar.xz";
+      sha256 = "1fk7wazfwr7smqiym3phm5yvw6cmiczag52y1vad8fgb3izd6zhl";
+      name = "kglobalaccel-5.49.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kguiaddons-5.44.0.tar.xz";
-      sha256 = "1npl2ibk7ilsicmyvlnvf42lz6qjmqp4nl607a66ikxp3kvk3sdc";
-      name = "kguiaddons-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kguiaddons-5.49.0.tar.xz";
+      sha256 = "1zkjd3l5pyvvilcc9lbdgqaxnpvh586yf0cndl90h3x89hy1d4xk";
+      name = "kguiaddons-5.49.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kholidays-5.44.0.tar.xz";
-      sha256 = "134zxnkclh16gh0qf2ak1pmhlxxwrcgzgmkn5wrynwraplf9b812";
-      name = "kholidays-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kholidays-5.49.0.tar.xz";
+      sha256 = "0yc4i4qsk3w1v0andw737ps1ad70696q140k0ycfhk6qmv1wvsdp";
+      name = "kholidays-5.49.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/portingAids/khtml-5.44.0.tar.xz";
-      sha256 = "1sph90cfwq0067a6ih8mx1bn715lvsspn6s9lijmm0ck9vbbixgp";
-      name = "khtml-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/portingAids/khtml-5.49.0.tar.xz";
+      sha256 = "0k9m2pgq64grmgc6ywpzfnn65h8wfkkiwjbmz2mwbf2yi9c1ky64";
+      name = "khtml-5.49.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/ki18n-5.44.0.tar.xz";
-      sha256 = "1rg24i8ks5mxryssq0zdig0q545zyj4svy9kb6r84qwag4vn7pcc";
-      name = "ki18n-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/ki18n-5.49.0.tar.xz";
+      sha256 = "1i4rdrxann45zl6fkmfd1b96q52g0mpc5x19fx9h80crapkm8jjz";
+      name = "ki18n-5.49.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kiconthemes-5.44.0.tar.xz";
-      sha256 = "1xkrczqw332hr667qp9pwlkypcn9d6zkx51bmi4bg9xfgpg1pwz4";
-      name = "kiconthemes-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kiconthemes-5.49.0.tar.xz";
+      sha256 = "1f7pk6smi2f0mm7jkrw5ymmkhd9gi8vnmppyblp1v3pvmy571c2m";
+      name = "kiconthemes-5.49.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kidletime-5.44.0.tar.xz";
-      sha256 = "1zf8rspn603hyz1rr3rkslnij7883f4ha0ls6v5phh19jdp9hcis";
-      name = "kidletime-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kidletime-5.49.0.tar.xz";
+      sha256 = "1fd02anlmaa0hnnp5q1s9973m3asy56qppwq1va1g6ga3csv3wrv";
+      name = "kidletime-5.49.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kimageformats-5.44.0.tar.xz";
-      sha256 = "1zpz3a4wghh348is2yyfs5qhhkg0261p5v2khxcgcy6vpblv1h1j";
-      name = "kimageformats-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kimageformats-5.49.0.tar.xz";
+      sha256 = "1q7019gbk59fwampna1ayjvw016c0q79hmldpaqh3xa9sh082wy4";
+      name = "kimageformats-5.49.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kinit-5.44.0.tar.xz";
-      sha256 = "1v3zmlmh3yg9333v7ha1xg3hp7ig2q8w7ixyzww5a5q4gxpzz9z5";
-      name = "kinit-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kinit-5.49.0.tar.xz";
+      sha256 = "1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95";
+      name = "kinit-5.49.0.tar.xz";
     };
   };
   kio = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kio-5.44.0.tar.xz";
-      sha256 = "1dvif1779kh8d8yh6svmbs2yhvprzc38hchd4wb4l70hmzqcd3vs";
-      name = "kio-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kio-5.49.0.tar.xz";
+      sha256 = "0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k";
+      name = "kio-5.49.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kirigami2-5.44.0.tar.xz";
-      sha256 = "1vvq3c2j9v07ngkm3c8hwvik80sfd7i20ga7hyx4i94spjcagj6h";
-      name = "kirigami2-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kirigami2-5.49.0.tar.xz";
+      sha256 = "1wan9h7kvjzvyzfjfjd512lxiac5prhs493xjqwxgags6kxwglaz";
+      name = "kirigami2-5.49.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kitemmodels-5.44.0.tar.xz";
-      sha256 = "0m63i10nvgp86ajsd7aizah4g21dpwxrs2lvglv0kybhaykziwa8";
-      name = "kitemmodels-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kitemmodels-5.49.0.tar.xz";
+      sha256 = "1frha301540js45mrxiw034m9b2rwsa56xphkqn6cm4jmn48qdjg";
+      name = "kitemmodels-5.49.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kitemviews-5.44.0.tar.xz";
-      sha256 = "1vg99figpspm0p7ipbgf94j4xarcf2zicm3rijywxfcwcl0sr99h";
-      name = "kitemviews-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kitemviews-5.49.0.tar.xz";
+      sha256 = "1aj605q2p72w4rb9i0f2xb93bn5xfjq9sl5i4h6rqflcvvy7qpdp";
+      name = "kitemviews-5.49.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kjobwidgets-5.44.0.tar.xz";
-      sha256 = "1c26vdq8sqja95scqbvm0y2zhl1qx5aapkadi44vrjf54q4kgqrv";
-      name = "kjobwidgets-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kjobwidgets-5.49.0.tar.xz";
+      sha256 = "04i5cvbxii7n0jr3ai1dh44miqbdkxb6an5w8s7qvkv0xmkml35g";
+      name = "kjobwidgets-5.49.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/portingAids/kjs-5.44.0.tar.xz";
-      sha256 = "1y350xgxip9qlwzanzlbyj4mb7i53msldv2wmacdp2di1hxn8ihy";
-      name = "kjs-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/portingAids/kjs-5.49.0.tar.xz";
+      sha256 = "057ikyi4wffjvxdyk08hmj7h8vmbwbcxv98apmjzgsd611zvx5p0";
+      name = "kjs-5.49.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/portingAids/kjsembed-5.44.0.tar.xz";
-      sha256 = "0d71pnfx5fylxlpc0m08i1qasnrk0jvwmcv7zr7r8fnfagjl7gpk";
-      name = "kjsembed-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/portingAids/kjsembed-5.49.0.tar.xz";
+      sha256 = "0qddjkfm6f0f5dynqvi3l23mgyfdbk4xzg967sj3a2qlq423ah0m";
+      name = "kjsembed-5.49.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/portingAids/kmediaplayer-5.44.0.tar.xz";
-      sha256 = "1nwpx2y8bl92m8yxk5c3sw7a0zm50hfpfrcicdqpv7nfs4n70anj";
-      name = "kmediaplayer-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/portingAids/kmediaplayer-5.49.0.tar.xz";
+      sha256 = "0hbx48ivj4i96yagd9n9vd22ycsljrvijm6nfms4x7z7jr49flrx";
+      name = "kmediaplayer-5.49.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/knewstuff-5.44.0.tar.xz";
-      sha256 = "1sd5780gpxidlc9g3dmd38ji5q5c1va49r604x5y739wjdrsgm0a";
-      name = "knewstuff-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/knewstuff-5.49.0.tar.xz";
+      sha256 = "1vhcl2z9rcqg8390l1cwn3yyi1n17pn6mn8fsplp25qhzimb8bmk";
+      name = "knewstuff-5.49.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/knotifications-5.44.0.tar.xz";
-      sha256 = "137snmjix1jji1vn40vxsnigddz7xxlkkch1rag79f6dqjnswb76";
-      name = "knotifications-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/knotifications-5.49.0.tar.xz";
+      sha256 = "10481j2irlqhqd16xi412xbglnyjl0ndanlv9s0d3fxirs95zdd9";
+      name = "knotifications-5.49.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/knotifyconfig-5.44.0.tar.xz";
-      sha256 = "0122w5mklyr958284824qzxxp76hacnf8zgv58b9ihr5finc919z";
-      name = "knotifyconfig-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/knotifyconfig-5.49.0.tar.xz";
+      sha256 = "09v4aq5x98sqg2awhw0n0y0rnjkr77kbf51xij0fiykd4llp9lfa";
+      name = "knotifyconfig-5.49.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kpackage-5.44.0.tar.xz";
-      sha256 = "1av8m9m7by0j128779rhws0pjc3hhi37cp311nks5sa5mmpbksmz";
-      name = "kpackage-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kpackage-5.49.0.tar.xz";
+      sha256 = "1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd";
+      name = "kpackage-5.49.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kparts-5.44.0.tar.xz";
-      sha256 = "0bbf17y8nnd1gbhdnffhgj9xn1wjida6a7qgwi16k3zp4yjmpgac";
-      name = "kparts-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kparts-5.49.0.tar.xz";
+      sha256 = "0zdz0byj0gsbgb007y8x37w8yf1gkw6dsp2s9bbdc4w6h9ipdj2k";
+      name = "kparts-5.49.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kpeople-5.44.0.tar.xz";
-      sha256 = "0gp602c2wq2ipbsan84r11a14xqpzyfszhb4lw3qkd7y4dpha37i";
-      name = "kpeople-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kpeople-5.49.0.tar.xz";
+      sha256 = "0i5pd1d2jphsvpc3dpdw28dsdal1qrnnrx3k6qx4wax3f8ph5khv";
+      name = "kpeople-5.49.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kplotting-5.44.0.tar.xz";
-      sha256 = "0ccgpbccfrn4c4wri80zm8ni8390jnqywh4k1z5r68hzmr3l79xw";
-      name = "kplotting-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kplotting-5.49.0.tar.xz";
+      sha256 = "13fzqqkyxs4ja6n5yb9lc5jx4qpsmrbsiihnwrgj3lhpzhlr91n0";
+      name = "kplotting-5.49.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kpty-5.44.0.tar.xz";
-      sha256 = "08jxq693mkwxr45696nz05f2zxa16finvacif330r6s03izvwfw0";
-      name = "kpty-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kpty-5.49.0.tar.xz";
+      sha256 = "1pnj07079l6gkz6171fcvljh0dcdy9s77p1q0l9nnkknjbr102pg";
+      name = "kpty-5.49.0.tar.xz";
     };
   };
   kross = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/portingAids/kross-5.44.0.tar.xz";
-      sha256 = "1gq2cg3gq40rqih0kflfxl2n5l7j4gli0w57xnfhc39xpkpd1cqv";
-      name = "kross-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/portingAids/kross-5.49.0.tar.xz";
+      sha256 = "194zcf499fkwk3wcs3kc3l0fi9h8gn5yqh6gxrgiyn6iyy9a4qdz";
+      name = "kross-5.49.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/krunner-5.44.0.tar.xz";
-      sha256 = "1zr3zm528p4agw8d7krm4drs8638gfmbnm011r9kcmpjadkv0ila";
-      name = "krunner-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/krunner-5.49.0.tar.xz";
+      sha256 = "02l5gch9hpag1q5ixnb541g7m9lx25pbggldpa8zykp63apyca19";
+      name = "krunner-5.49.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kservice-5.44.0.tar.xz";
-      sha256 = "0gzp8sbf0mk7nhy1hz9m3fz97lkwijpxwf2l2ljz375ylf374iyk";
-      name = "kservice-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kservice-5.49.0.tar.xz";
+      sha256 = "1wwb6c6m8f3b16p47adkc05rrlszvvym7ckks5xp08s58pk1dm8z";
+      name = "kservice-5.49.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/ktexteditor-5.44.0.tar.xz";
-      sha256 = "1g0v5sax3pfkvdcvyxyz81j3ainm0n1m7nc1rxh106iz8gs0z9cn";
-      name = "ktexteditor-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/ktexteditor-5.49.0.tar.xz";
+      sha256 = "14iss8svx49vav0h2kg8vhv8g5hg4ky30s7049csfwz7xhp7jmcj";
+      name = "ktexteditor-5.49.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/ktextwidgets-5.44.0.tar.xz";
-      sha256 = "1kxh39n9gzism99x1x7fpdqkppdpn7aaj6j3wp4a4y4hrn82bqwp";
-      name = "ktextwidgets-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/ktextwidgets-5.49.0.tar.xz";
+      sha256 = "14gclshmpwmfwkp2hzlnf823pjjmknd9q0gdclsh3yy268c2rsw1";
+      name = "ktextwidgets-5.49.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kunitconversion-5.44.0.tar.xz";
-      sha256 = "1zr7m1wmyr9phg3lq11qm0l24kkc1zh6xc3x4hcrpv1yn458qxdl";
-      name = "kunitconversion-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kunitconversion-5.49.0.tar.xz";
+      sha256 = "11jnqz218rga3f4ppf1d927c7qhh2qpghwjpsrnrxdkz5nrvnf79";
+      name = "kunitconversion-5.49.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kwallet-5.44.0.tar.xz";
-      sha256 = "01bah8rycjhgycd2bfkxj5jwfrwdbi2ba6bis79kbiaacl0q0qns";
-      name = "kwallet-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kwallet-5.49.0.tar.xz";
+      sha256 = "13bmks9jb3yhp6clv25qkqkrvbhfyk9z16laxsv79jdd82lxgn1z";
+      name = "kwallet-5.49.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kwayland-5.44.0.tar.xz";
-      sha256 = "1pq8gikwcq6p67whhfm653xq79cdwr48br5ydism06644ikc2nlk";
-      name = "kwayland-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kwayland-5.49.0.tar.xz";
+      sha256 = "0d95l2i3j1xxkc15n57w4rhf3di02zna4zzn4gap9qdhfxlfbqi6";
+      name = "kwayland-5.49.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kwidgetsaddons-5.44.0.tar.xz";
-      sha256 = "11yaqwqkmwvhn9phmsfgyfl229zcrikdi3hz2w7nk8ibraagn5pi";
-      name = "kwidgetsaddons-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kwidgetsaddons-5.49.0.tar.xz";
+      sha256 = "1frgqz9njbc81pfy6gl6p0hyh1977lg31ynrx5wy7lg7fwaxwl92";
+      name = "kwidgetsaddons-5.49.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kwindowsystem-5.44.0.tar.xz";
-      sha256 = "0qn02c0yq1ir7vb56jhlla8j7nm6yx725hxnw31b8i62k1i7nvqy";
-      name = "kwindowsystem-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kwindowsystem-5.49.0.tar.xz";
+      sha256 = "175rzwrjndhawyy4x11lbihdr1r9gwxmxjpbz4x06hlz4g50wffp";
+      name = "kwindowsystem-5.49.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kxmlgui-5.44.0.tar.xz";
-      sha256 = "1qr6j4cnndb14fdppc2mpbqgk1mkjfdxyl5pl7gjrwd8558brjg2";
-      name = "kxmlgui-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kxmlgui-5.49.0.tar.xz";
+      sha256 = "0wsgs5ya3wnc5cryi1r9i30sq8dnnhh15p02skdjlhwjfvdhxmfa";
+      name = "kxmlgui-5.49.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/kxmlrpcclient-5.44.0.tar.xz";
-      sha256 = "1r6mcwgagnskh8jiy2fyajgzqacw03d2qfk1fb3vv4lfwry4h2j3";
-      name = "kxmlrpcclient-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/kxmlrpcclient-5.49.0.tar.xz";
+      sha256 = "0l4jnvn7s77jkvd2z44mz24mfzcw499plms79j21pjryc88drh06";
+      name = "kxmlrpcclient-5.49.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/modemmanager-qt-5.44.0.tar.xz";
-      sha256 = "1dkbyn6y605i8xqwqvpxmspp0fh7zarc0h54k30rnvv1g9rs1dd4";
-      name = "modemmanager-qt-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/modemmanager-qt-5.49.0.tar.xz";
+      sha256 = "1wf3v552vbr4kh2d770zn3yn0q3bqjqbfrvnf813mnld7961m7p2";
+      name = "modemmanager-qt-5.49.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/networkmanager-qt-5.44.0.tar.xz";
-      sha256 = "0bhsminn31b8w1678im5zqixmyx1m5275szca9hh7wx6dl0sxhlw";
-      name = "networkmanager-qt-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/networkmanager-qt-5.49.0.tar.xz";
+      sha256 = "16pnd52m9srcb2ml3vc3kd9k1yak5rq09yci39qp7z5jbdy7jk2z";
+      name = "networkmanager-qt-5.49.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/oxygen-icons5-5.44.0.tar.xz";
-      sha256 = "0ymd9s26x2ryyw851y4yb2wl9f3syzfp0z08387h90jg6xk36si5";
-      name = "oxygen-icons5-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/oxygen-icons5-5.49.0.tar.xz";
+      sha256 = "0llx06sr36cd6vgkgm3jw6k4cv1cfx3r6x6lmb477wpahis0n75g";
+      name = "oxygen-icons5-5.49.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/plasma-framework-5.44.0.tar.xz";
-      sha256 = "1lfrmrgamizfkr9jmfmf3afis0z40r1chpk854pqfr4p27j4gdmz";
-      name = "plasma-framework-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/plasma-framework-5.49.0.tar.xz";
+      sha256 = "1yrccbkdpnfbgn7fzpmzzxm5c7fhkv1vqygq1f96r30fia0cj5jv";
+      name = "plasma-framework-5.49.0.tar.xz";
     };
   };
   prison = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/prison-5.44.0.tar.xz";
-      sha256 = "0glcifwjm50kn6fk3lvwpslmh4s6s8g5r7h208dw56n19yhpkrfm";
-      name = "prison-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/prison-5.49.0.tar.xz";
+      sha256 = "0dppz9x6k84sl0aiyjlh3xigqgda64r8mij3bzxcdkv2wbc4ld9d";
+      name = "prison-5.49.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/purpose-5.44.0.tar.xz";
-      sha256 = "1scc2vbb5ws70kvicaay634ghgp2c7xhm7d907b36jj9gvyp4d2f";
-      name = "purpose-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/purpose-5.49.0.tar.xz";
+      sha256 = "014izz6vvk3vqw7s2qy33dqfflyylk8vqr9srkf391f6yfld9ygz";
+      name = "purpose-5.49.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/qqc2-desktop-style-5.44.0.tar.xz";
-      sha256 = "02s22xncpy988fbyjj17j5saamaf8q0sll4gd2s5xsswmalvnb51";
-      name = "qqc2-desktop-style-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/qqc2-desktop-style-5.49.0.tar.xz";
+      sha256 = "1vbms7b8x1y7yh8im8dv1q3wwl3j2x4r47yqg86f28grw2r2n2zj";
+      name = "qqc2-desktop-style-5.49.0.tar.xz";
     };
   };
   solid = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/solid-5.44.0.tar.xz";
-      sha256 = "08xw54m5srjr5n1h689hd05ld7ssimwvhlb9dlpxdavkag1vbqq1";
-      name = "solid-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/solid-5.49.0.tar.xz";
+      sha256 = "1p7rdmf2f8520xc7zp7wxlcizyyjfxwq5mf95qsfpwc4dl0c43gp";
+      name = "solid-5.49.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/sonnet-5.44.0.tar.xz";
-      sha256 = "1dip8h9frxvzy39cjc205y2szdpczyh1fldlcpcq8ckjfk8pmgdm";
-      name = "sonnet-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/sonnet-5.49.0.tar.xz";
+      sha256 = "0m5pmka1hwjsg3c3qvx087z3fjrfw0ayk7ylgjls5iwd39kkl1b3";
+      name = "sonnet-5.49.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/syntax-highlighting-5.44.0.tar.xz";
-      sha256 = "10s5m1as9c1kln8mc7zf2m8zsqrf9rxfa2rzfyff1kki1icp65nm";
-      name = "syntax-highlighting-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/syntax-highlighting-5.49.0.tar.xz";
+      sha256 = "17rkgzkfiz5dv0xr67na7ikqszgwjnf2gc11b2h47qdsr7pgx95v";
+      name = "syntax-highlighting-5.49.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.44.0";
+    version = "5.49.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.44/threadweaver-5.44.0.tar.xz";
-      sha256 = "135x9z1rzvlhx13nbkacmcj7g0z88rpv0c2vy8yybysfaspc1hzn";
-      name = "threadweaver-5.44.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.49/threadweaver-5.49.0.tar.xz";
+      sha256 = "099bs429p71dzrqy25z61rvn48w3b73p7yag4q69jnxcpj0qcyz7";
+      name = "threadweaver-5.49.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kerberos/heimdal.nix b/pkgs/development/libraries/kerberos/heimdal.nix
index b72a00d242e9c..24adb2a141e82 100644
--- a/pkgs/development/libraries/kerberos/heimdal.nix
+++ b/pkgs/development/libraries/kerberos/heimdal.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, python2, perl, yacc, flex
 , texinfo, perlPackages
 , openldap, libcap_ng, sqlite, openssl, db, libedit, pam
-
+, CoreFoundation, Security, SystemConfiguration
 # Extra Args
 , type ? ""
 }:
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig python2 perl yacc flex ]
     ++ (with perlPackages; [ JSON ])
     ++ optional (!libOnly) texinfo;
-  buildInputs = optionals (!stdenv.isFreeBSD) [ libcap_ng db ]
-    ++ [ sqlite openssl libedit ]
+  buildInputs = optionals (stdenv.isLinux) [ libcap_ng ]
+    ++ [ db sqlite openssl libedit ]
+    ++ optionals (stdenv.isDarwin) [ CoreFoundation Security SystemConfiguration ]
     ++ optionals (!libOnly) [ openldap pam ];
 
   ## ugly, X should be made an option
@@ -39,10 +40,11 @@ stdenv.mkDerivation rec {
     "--with-libedit=${libedit}"
     "--with-openssl=${openssl.dev}"
     "--without-x"
-    "--with-berkeley-db=${db}"
+    "--with-berkeley-db"
+    "--with-berkeley-db-include=${db.dev}/include"
   ] ++ optionals (!libOnly) [
     "--with-openldap=${openldap.dev}"
-  ] ++ optionals (!stdenv.isFreeBSD) [
+  ] ++ optionals (stdenv.isLinux) [
     "--with-capng"
   ];
 
@@ -92,7 +94,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "An implementation of Kerberos 5 (and some more stuff)";
     license = licenses.bsd3;
-    platforms = platforms.linux ++ platforms.freebsd;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ wkennington ];
   };
 
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index 98073b7bbdc46..4e3ba399cc3f7 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -1,8 +1,11 @@
 { stdenv, fetchurl, pkgconfig, perl, yacc, bootstrap_cmds
-, openssl, openldap, libedit
+, openssl, openldap, libedit, keyutils
 
 # Extra Arguments
 , type ? ""
+# This is called "staticOnly" because krb5 does not support
+# builting both static and shared, see below.
+, staticOnly ? false
 }:
 
 let
@@ -22,6 +25,9 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
+    # krb5's ./configure does not allow passing --enable-shared and --enable-static at the same time.
+    # See https://bbs.archlinux.org/viewtopic.php?pid=1576737#p1576737
+    ++ optional staticOnly [ "--enable-static" "--disable-shared" ]
     ++ optional stdenv.isFreeBSD ''WARN_CFLAGS=""''
     ++ optionals (stdenv.buildPlatform != stdenv.hostPlatform)
        [ "krb5_cv_attr_constructor_destructor=yes,yes"
@@ -34,6 +40,7 @@ stdenv.mkDerivation rec {
     # Provides the mig command used by the build scripts
     ++ optional stdenv.isDarwin bootstrap_cmds;
   buildInputs = [ openssl ]
+    ++ optionals (stdenv.hostPlatform.isLinux) [ keyutils ]
     ++ optionals (!libOnly) [ openldap libedit ];
 
   preConfigure = "cd ./src";
@@ -62,6 +69,7 @@ stdenv.mkDerivation rec {
   '';
 
   enableParallelBuilding = true;
+  doCheck = false; # fails with "No suitable file for testing purposes"
 
   meta = {
     description = "MIT Kerberos 5";
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 5110908e0f272..20ab104874dc5 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3
-, gtk-doc, gtk2, python2Packages, lua, libX11, libXext, libXrender, gobjectIntrospection
+, gtk-doc, gtk2, python2Packages, lua, gobjectIntrospection
 }:
 
 let
-  inherit (python2Packages) python pygobject3 pygtk;
+  inherit (python2Packages) python pygtk;
 in stdenv.mkDerivation rec {
   name = "keybinder-${version}";
   version = "0.3.0";
@@ -16,8 +16,8 @@ in stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    autoconf automake libtool gnome3.gnome-common gtk-doc gnome3.gtk3
-    python pygobject3 pygtk lua libX11 libXext libXrender gobjectIntrospection gtk2
+    autoconf automake libtool gnome3.gnome-common gtk-doc gtk2
+    python pygtk lua gobjectIntrospection
   ];
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index cf4b85043bb27..194b57c053426 100644
--- a/pkgs/development/libraries/keybinder3/default.nix
+++ b/pkgs/development/libraries/keybinder3/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, gnome3
-, gtk-doc, gtk3, python, lua, libX11, libXext, libXrender, gobjectIntrospection
+, gtk-doc, gtk3, libX11, libXext, libXrender, gobjectIntrospection
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/kirigami/default.nix b/pkgs/development/libraries/kirigami/default.nix
deleted file mode 100644
index 1127f3e197df5..0000000000000
--- a/pkgs/development/libraries/kirigami/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig
-, plasma-framework, qtbase, qttranslations
-, qtquickcontrols ? null
-, qtquickcontrols2 ? null }:
-
-let
-  pname = "kirigami";
-
-  generic = { name, version, sha256, qtqc, broken }:
-  stdenv.mkDerivation rec {
-    inherit name version;
-
-    src = fetchurl {
-      url = "mirror://kde/stable/${pname}/${name}.tar.xz";
-      inherit sha256;
-    };
-
-    buildInputs = [ plasma-framework qtbase qtqc qttranslations ];
-
-    nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ];
-
-    meta = with stdenv.lib; {
-      license     = licenses.lgpl2;
-      homepage    = http://www.kde.org;
-      maintainers = with maintainers; [ ttuegel peterhoeg ];
-      platforms   = platforms.unix;
-      inherit broken;
-    };
-  };
-
-in {
-  kirigami_1 = generic rec {
-    name    = "${pname}-${version}";
-    version = "1.1.0";
-    sha256  = "1p9ydggwbyfdgwmvyc8004sk9mfshlg9b83lzvz9qk3a906ayxv6";
-    qtqc    = qtquickcontrols;
-    broken  = false;
-  };
-
-  kirigami_2 = generic rec {
-    name    = "${pname}2-${version}";
-    version = "2.1.0";
-    sha256  = "0d79h10jzv9z7xzap4k9vbw6p9as8vdkz3x6xlzx407i9sbzyi77";
-    qtqc    = qtquickcontrols2;
-    broken  = builtins.compareVersions qtbase.version "5.7.0" < 0;
-  };
-}
diff --git a/pkgs/development/libraries/kpmcore/default.nix b/pkgs/development/libraries/kpmcore/default.nix
index 8532a8880ce83..5c53f5e6ad5da 100644
--- a/pkgs/development/libraries/kpmcore/default.nix
+++ b/pkgs/development/libraries/kpmcore/default.nix
@@ -1,26 +1,28 @@
-{ stdenv, lib, fetchurl, extra-cmake-modules, pkgconfig
+{ stdenv, lib, fetchurl, extra-cmake-modules
 , qtbase, kdeFrameworks
-, eject, libatasmart, parted }:
+, libatasmart, parted
+, utillinux }:
 
 let
   pname = "kpmcore";
 
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
-  version = "3.0.3";
+  version = "3.3.0";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
-    sha256 = "17lqrp39w31fm7haigwq23cp92zwk3czjzqa2fhn3wafx3vafwd2";
+    sha256 = "0s6v0jfrhjg31ri5p6h9n4w29jvasf5dj954j3vfpzl91lygmmmq";
   };
 
   buildInputs = [
     qtbase
-    eject # this is to get libblkid
     libatasmart
     parted # we only need the library
 
     kdeFrameworks.kio
+
+    utillinux # needs blkid (note that this is not provided by utillinux-compat)
   ];
   nativeBuildInputs = [ extra-cmake-modules ];
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/kproperty/default.nix b/pkgs/development/libraries/kproperty/default.nix
index 52b5d944b413d..455fb5a711c05 100644
--- a/pkgs/development/libraries/kproperty/default.nix
+++ b/pkgs/development/libraries/kproperty/default.nix
@@ -1,22 +1,23 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules,
-  qtbase, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons
+  qtbase, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons,
+  qttools
 }:
 
 mkDerivation rec {
   pname = "kproperty";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1hzkvdap7dzpnxlp4rfg5f24fhqjpqm2hlvv88gj4c0scbp73ynm";
+    sha256 = "18qlwp7ajpx16bd0lfzqfx8y9cbrs8k4nax3cr30wj5sd3l8xpky";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
 
-  buildInputs = [ kconfig kcoreaddons kwidgetsaddons kguiaddons ];
+  buildInputs = [ kconfig kcoreaddons kwidgetsaddons kguiaddons qttools ];
 
   propagatedBuildInputs = [ qtbase ];
 
diff --git a/pkgs/development/libraries/kreport/default.nix b/pkgs/development/libraries/kreport/default.nix
index 561e964c9610c..256989992c5a0 100644
--- a/pkgs/development/libraries/kreport/default.nix
+++ b/pkgs/development/libraries/kreport/default.nix
@@ -1,17 +1,17 @@
 {
   mkDerivation, lib, fetchurl,
   extra-cmake-modules,
-  qtbase, qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python2
+  qtdeclarative, qtwebkit, kconfig, kcoreaddons, kwidgetsaddons, kguiaddons, kproperty, marble, python2
 }:
 
 mkDerivation rec {
   pname = "kreport";
-  version = "3.0.2";
+  version = "3.1.0";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://kde/stable/${pname}/src/${name}.tar.xz";
-    sha256 = "1zd3vhf26cyp8xrq11awm9pmhnk88ppyc0riyr0gxj8y703ahkp0";
+    sha256 = "0v7krpfx0isij9wzwam28fqn039i4wcznbplvnvl6hsykdi8ar1v";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
diff --git a/pkgs/development/libraries/languagemachines/frog.nix b/pkgs/development/libraries/languagemachines/frog.nix
index 1a73a46d28728..dcff8c2757e1f 100644
--- a/pkgs/development/libraries/languagemachines/frog.nix
+++ b/pkgs/development/libraries/languagemachines/frog.nix
@@ -9,10 +9,10 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "frog";
+  name = "frog-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
-                   name = "frog-${release.version}.tar.gz"; };
+                   name = "frog-v${release.version}.tar.gz"; };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ automake autoconf bzip2 libtar libtool autoconf-archive
                   libxml2 icu
diff --git a/pkgs/development/libraries/languagemachines/frogdata.nix b/pkgs/development/libraries/languagemachines/frogdata.nix
index 42d14d083354b..2c418c1bc5f57 100644
--- a/pkgs/development/libraries/languagemachines/frogdata.nix
+++ b/pkgs/development/libraries/languagemachines/frogdata.nix
@@ -1,7 +1,5 @@
 { stdenv, fetchurl
 , automake, autoconf, libtool, pkgconfig, autoconf-archive
-, libxml2, icu
-, languageMachines
 }:
 
 let
@@ -9,7 +7,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "frogdata";
+  name = "frogdata-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "frogdata-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/libfolia.nix b/pkgs/development/libraries/languagemachines/libfolia.nix
index a6f5adb955951..395591be55be3 100644
--- a/pkgs/development/libraries/languagemachines/libfolia.nix
+++ b/pkgs/development/libraries/languagemachines/libfolia.nix
@@ -8,7 +8,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "libfolia";
+  name = "libfolia-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "libfolia-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/mbt.nix b/pkgs/development/libraries/languagemachines/mbt.nix
index 3bc78a96a0632..b99cb4f595a4e 100644
--- a/pkgs/development/libraries/languagemachines/mbt.nix
+++ b/pkgs/development/libraries/languagemachines/mbt.nix
@@ -9,7 +9,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "mbt";
+  name = "mbt-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "mbt-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/release-info/LanguageMachines-frogdata.json b/pkgs/development/libraries/languagemachines/release-info/LanguageMachines-frogdata.json
index 1147322be6da8..6ea449387172b 100644
--- a/pkgs/development/libraries/languagemachines/release-info/LanguageMachines-frogdata.json
+++ b/pkgs/development/libraries/languagemachines/release-info/LanguageMachines-frogdata.json
@@ -1,5 +1,5 @@
 {
-  "version": "v0.13",
+  "version": "0.13",
   "url": "https://api.github.com/repos/LanguageMachines/frogdata/tarball/v0.13",
   "sha256": "13mhv8qacl0n20ddl1ay49xi6h2m0a149ya3rrsmaah3x4adb4sg"
 }
diff --git a/pkgs/development/libraries/languagemachines/ticcutils.nix b/pkgs/development/libraries/languagemachines/ticcutils.nix
index 738e53556ba6a..779ec664996a6 100644
--- a/pkgs/development/libraries/languagemachines/ticcutils.nix
+++ b/pkgs/development/libraries/languagemachines/ticcutils.nix
@@ -7,7 +7,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ticcutils";
+  name = "ticcutils-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "ticcutils-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/timbl.nix b/pkgs/development/libraries/languagemachines/timbl.nix
index 3ab38a9e84ac8..c6c216f5abf31 100644
--- a/pkgs/development/libraries/languagemachines/timbl.nix
+++ b/pkgs/development/libraries/languagemachines/timbl.nix
@@ -9,7 +9,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "timbl";
+  name = "timbl-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "timbl-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/timblserver.nix b/pkgs/development/libraries/languagemachines/timblserver.nix
index ee1579540c33e..aeadb07595305 100644
--- a/pkgs/development/libraries/languagemachines/timblserver.nix
+++ b/pkgs/development/libraries/languagemachines/timblserver.nix
@@ -9,7 +9,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "timblserver";
+  name = "timblserver-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "timblserver-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/ucto.nix b/pkgs/development/libraries/languagemachines/ucto.nix
index 8f917c2265d2b..ab047d0516eb7 100644
--- a/pkgs/development/libraries/languagemachines/ucto.nix
+++ b/pkgs/development/libraries/languagemachines/ucto.nix
@@ -9,7 +9,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ucto";
+  name = "ucto-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "ucto-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/languagemachines/uctodata.nix b/pkgs/development/libraries/languagemachines/uctodata.nix
index 56b6448d25336..01a78b5b4be64 100644
--- a/pkgs/development/libraries/languagemachines/uctodata.nix
+++ b/pkgs/development/libraries/languagemachines/uctodata.nix
@@ -1,14 +1,13 @@
 { stdenv, fetchurl
 , automake, autoconf, libtool, pkgconfig, autoconf-archive
-, libxml2, icu
-, languageMachines }:
+ }:
 
 let
   release = builtins.fromJSON (builtins.readFile ./release-info/LanguageMachines-uctodata.json);
 in
 
 stdenv.mkDerivation {
-  name = "uctodata";
+  name = "uctodata-${release.version}";
   version = release.version;
   src = fetchurl { inherit (release) url sha256;
                    name = "uctodata-${release.version}.tar.gz"; };
diff --git a/pkgs/development/libraries/lasso/default.nix b/pkgs/development/libraries/lasso/default.nix
index acd0d35a5f08e..873ccc5665df9 100644
--- a/pkgs/development/libraries/lasso/default.nix
+++ b/pkgs/development/libraries/lasso/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "lasso-${version}";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchurl {
     url = "https://dev.entrouvert.org/lasso/lasso-${version}.tar.gz";
-    sha256 = "0n10zjjw84303c9vfy9bqhyzdl01459akbwy86cbgphd826mq45y";
+    sha256 = "1kqagm63a4mv5sw5qc3y0qlky7r9qg5lccq0c3cnfr0n4mxgysql";
 
   };
 
diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix
index 3e4f0d4265f2c..63c81822ddf87 100644
--- a/pkgs/development/libraries/lcms/default.nix
+++ b/pkgs/development/libraries/lcms/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation {
 
   outputs = [ "bin" "dev" "out" "man" ];
 
+  doCheck = false; # fails with "Error in Linear interpolation (2p): Must be i=8000, But is n=8001"
+
   meta = {
     description = "Color management engine";
     homepage = http://www.littlecms.com/;
diff --git a/pkgs/development/libraries/ldb/default.nix b/pkgs/development/libraries/ldb/default.nix
index 4f2785675f087..10441b9b871e5 100644
--- a/pkgs/development/libraries/ldb/default.nix
+++ b/pkgs/development/libraries/ldb/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python, pkgconfig, readline, tdb, talloc, tevent
-, popt, libxslt, docbook_xsl, docbook_xml_dtd_42
+, popt, libxslt, docbook_xsl, docbook_xml_dtd_42, cmocka
 }:
 
 stdenv.mkDerivation rec {
-  name = "ldb-1.1.27";
+  name = "ldb-1.3.3";
 
   src = fetchurl {
     url = "mirror://samba/ldb/${name}.tar.gz";
-    sha256 = "1b1mkl5p8swb67s9aswavhzswlib34hpgsv66zgns009paf2df6d";
+    sha256 = "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b"                                                                                                                                                             ;
   };
 
   outputs = [ "out" "dev" ];
@@ -16,6 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     python readline tdb talloc tevent popt
     libxslt docbook_xsl docbook_xml_dtd_42
+    cmocka
   ];
 
   preConfigure = ''
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A LDAP-like embedded database";
-    homepage = http://ldb.samba.org/;
+    homepage = https://ldb.samba.org/;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ wkennington ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/ldns/default.nix b/pkgs/development/libraries/ldns/default.nix
index 6c2a8f84d2323..c4120e5bb0eb8 100644
--- a/pkgs/development/libraries/ldns/default.nix
+++ b/pkgs/development/libraries/ldns/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, openssl, perl, dns-root-data }:
+{ stdenv, fetchurl, fetchpatch, openssl, perl, which, dns-root-data }:
 
 stdenv.mkDerivation rec {
   pname = "ldns";
@@ -40,8 +40,14 @@ stdenv.mkDerivation rec {
     "--with-trust-anchor=${dns-root-data}/root.key"
     "--with-drill"
     "--disable-gost"
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    "ac_cv_func_malloc_0_nonnull=yes"
+    "ac_cv_func_realloc_0_nonnull=yes"
   ];
 
+  checkInputs = [ which ];
+  doCheck = false; # fails. missing some files
+
   postInstall = ''
     moveToOutput "bin/ldns-config" "$dev"
 
diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix
index 44d527e1304b7..a269069fb048f 100644
--- a/pkgs/development/libraries/leatherman/default.nix
+++ b/pkgs/development/libraries/leatherman/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "leatherman-${version}";
-  version = "1.4.0";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
-    sha256 = "0whlyzz0imv4lm69xkwhcd6jzh3s0rzlqjmwimbqz96p4771ivpd";
+    sha256 = "0lhdncwg2xbd3gy65rx8w2qcxvcwfirzkl762zdwqxf6bj6p2hvb";
     rev = version;
     repo = "leatherman";
     owner = "puppetlabs";
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index 5791b0808b4a3..824c685ce932e 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchurl, pkgconfig, python, glib, zlib, libpng, gnumake3, cmake }:
+{ stdenv, fetchurl, pkgconfig, glib, zlib, libpng, gnumake3, cmake }:
 
 stdenv.mkDerivation rec {
-  version = "0.3.2";
+  version = "0.3.95";
   name = "lensfun-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/lensfun/${version}/${name}.tar.gz";
-    sha256 = "0cfk8jjhs9nbfjfdy98plrj9ayi59aph0nx6ppslgjhlcvacm2xf";
+    sha256 = "0218f3xrlln0jmh4gcf1zbpvi2bidgl3b2mblf6c810n7j1rrhl2";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib zlib libpng cmake gnumake3 ];
 
-  configureFlags = "-v";
+  configureFlags = [ "-v" ];
 
   meta = with stdenv.lib; {
-    platforms = platforms.linux;
-    maintainers = [ ];
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ enzime ];
     license = stdenv.lib.licenses.lgpl3;
     description = "An opensource database of photographic lenses and their characteristics";
     homepage = http://lensfun.sourceforge.net/;
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 3ff2ca0b0ee45..2b50c09af5cce 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -15,7 +15,12 @@ stdenv.mkDerivation rec {
     make all leveldbutil libmemenv.a
   '';
 
-  installPhase = "
+  installPhase = (stdenv.lib.optionalString stdenv.isDarwin ''
+    for file in *.dylib*; do
+      install_name_tool -id $out/lib/$file $file
+    done
+  '') + # XXX consider removing above after transition to cmake in the next release
+  "
     mkdir -p $out/{bin,lib,include}
 
     cp -r include $out
diff --git a/pkgs/development/libraries/libLAS/default.nix b/pkgs/development/libraries/libLAS/default.nix
index 20531adcd1c72..de796307de1a9 100644
--- a/pkgs/development/libraries/libLAS/default.nix
+++ b/pkgs/development/libraries/libLAS/default.nix
@@ -1,22 +1,32 @@
-{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip }:
+{ stdenv, fetchurl, boost, cmake, gdal, libgeotiff, libtiff, LASzip, fixDarwinDylibNames }:
 
 stdenv.mkDerivation rec {
   name = "libLAS-1.8.1";
 
   src = fetchurl {
 
-    url = "http://download.osgeo.org/liblas/${name}.tar.bz2";
+    url = "https://download.osgeo.org/liblas/${name}.tar.bz2";
     sha256 = "0xjfxb3ydvr2258ji3spzyf81g9caap19ql2pk91wiivqsc4mnws";
   };
 
-  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip ];
+  buildInputs = [ boost cmake gdal libgeotiff libtiff LASzip ]
+                ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
+  cmakeFlags = [
+    "-DGDAL_CONFIG=${gdal}/bin/gdal-config"
+    "-DWITH_LASZIP=ON"
+    "-DLASZIP_INCLUDE_DIR=${LASzip}/include"
+  ];
+
+  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -change "@rpath/liblas.3.dylib" "$out/lib/liblas.3.dylib" $out/lib/liblas_c.dylib
+  '';
 
   meta = {
     description = "LAS 1.0/1.1/1.2 ASPRS LiDAR data translation toolset";
-    homepage = http://www.liblas.org;
+    homepage = https://www.liblas.org;
     license = stdenv.lib.licenses.bsd3;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.michelk ];
   };
 }
diff --git a/pkgs/development/libraries/libabw/default.nix b/pkgs/development/libraries/libabw/default.nix
index 187e06239c104..fe2229bcea6a0 100644
--- a/pkgs/development/libraries/libabw/default.nix
+++ b/pkgs/development/libraries/libabw/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.1.2";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/libabw/${name}.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libabw/${name}.tar.xz";
     sha256 = "11949iscdb99f2jplxjd39282jxcrf2fw0sqbh5dl7gqb96r8whb";
   };
 
diff --git a/pkgs/development/libraries/libagar/libagar_test.nix b/pkgs/development/libraries/libagar/libagar_test.nix
index dea102774d090..c1e9ba7d1c731 100644
--- a/pkgs/development/libraries/libagar/libagar_test.nix
+++ b/pkgs/development/libraries/libagar/libagar_test.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     cat configure.in | ${bsdbuild}/bin/mkconfigure > configure
   '';
 
-  configureFlags = "--with-agar=${libagar}";
+  configureFlags = [ "--with-agar=${libagar}" ];
 
   buildInputs = [ perl bsdbuild libagar libjpeg libpng openssl ];
 
diff --git a/pkgs/development/libraries/libantlr3c/default.nix b/pkgs/development/libraries/libantlr3c/default.nix
index 5f0b1ccd18ec0..6f12bf891b015 100644
--- a/pkgs/development/libraries/libantlr3c/default.nix
+++ b/pkgs/development/libraries/libantlr3c/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation {
   name = "libantlr3c-3.4";
   src = fetchurl {
-    url = http://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz;
+    url = https://www.antlr3.org/download/C/libantlr3c-3.4.tar.gz;
     sha256 ="0lpbnb4dq4azmsvlhp6khq1gy42kyqyjv8gww74g5lm2y6blm4fa";
   };
 
-  configureFlags = if stdenv.is64bit then "--enable-64bit" else "";
+  configureFlags = stdenv.lib.optional stdenv.is64bit "--enable-64bit";
 
   meta = with stdenv.lib; {
     description = "C runtime libraries of ANTLR v3";
diff --git a/pkgs/development/libraries/libaom/default.nix b/pkgs/development/libraries/libaom/default.nix
index d11bec2cb4ff2..b94c845479aaa 100644
--- a/pkgs/development/libraries/libaom/default.nix
+++ b/pkgs/development/libraries/libaom/default.nix
@@ -1,20 +1,17 @@
-{ stdenv, fetchgit, yasm, perl, cmake,  pkgconfig }:
+{ stdenv, fetchgit, yasm, perl, cmake, pkgconfig, python3Packages }:
 
 stdenv.mkDerivation rec {
-  name = "libaom-0.1.0";
+  name = "libaom-${version}";
+  version = "1.0.0";
 
   src = fetchgit {
     url = "https://aomedia.googlesource.com/aom";
-    rev	= "105e9b195bb90c9b06edcbcb13b6232dab6db0b7";
-    sha256 = "1fl2sca4df01gyn00s0xcwwirxccfnjppvjdrxdnb8f2naj721by";
+    rev	= "v${version}";
+    sha256 = "07h2vhdiq7c3fqaz44rl4vja3dgryi6n7kwbwbj1rh485ski4j82";
   };
 
-  buildInputs = [ perl yasm  ];
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  cmakeFlags = [
-    "-DCONFIG_UNIT_TESTS=0"
-  ];
+  buildInputs = [ perl yasm ];
+  nativeBuildInputs = [ cmake pkgconfig python3Packages.python ];
 
   meta = with stdenv.lib; {
     description = "AV1 Bitstream and Decoding Library";
@@ -22,4 +19,4 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ kiloreux ];
     platforms   = platforms.all;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 6c87588fd3d70..8bf0e4bcb93c5 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -2,7 +2,7 @@
 
 { stdenv, fetchurl, lib, file
 , pkgconfig, autoconf
-, glib, dbus-glib, gtkVersion
+, glib, dbus-glib, gtkVersion ? "3"
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
 , python2Packages, gobjectIntrospection, vala
@@ -61,6 +61,8 @@ in stdenv.mkDerivation rec {
       --replace /usr/bin/file ${file}/bin/file
   '';
 
+  doCheck = false; # generates shebangs in check phase, too lazy to fix
+
   installFlags = [
     "sysconfdir=\${out}/etc"
     "localstatedir=\${TMPDIR}"
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index e0242802fd34e..7625abf38fb39 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -1,5 +1,5 @@
 {
-  fetchurl, stdenv, pkgconfig,
+  fetchurl, fetchpatch, stdenv, pkgconfig,
   acl, attr, bzip2, e2fsprogs, libxml2, lzo, openssl, sharutils, xz, zlib,
 
   # Optional but increases closure only negligibly.
@@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
   patches = [
     ./CVE-2017-14166.patch
     ./CVE-2017-14502.patch
+
+    # LibreSSL patch; this is from upstream, and can be removed when the next release is made.
+    (fetchpatch {
+      url = "https://github.com/libarchive/libarchive/commit/5da00ad75b09e262774ec3675bbe4d5a4502a852.patch";
+      sha256 = "0np1i9r6mfxmbksj7mmf5abpnmlmg63704p9z3ihjh2rnq596c1v";
+    })
   ];
 
   outputs = [ "out" "lib" "dev" ];
@@ -38,12 +44,16 @@ stdenv.mkDerivation rec {
     echo "#include <windows.h>" >> config.h
   '' else null;
 
+  doCheck = false; # fails
+
   preFixup = ''
     sed -i $lib/lib/libarchive.la \
       -e 's|-lcrypto|-L${openssl.out}/lib -lcrypto|' \
       -e 's|-llzo2|-L${lzo}/lib -llzo2|'
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "Multi-format archive and compression library";
     longDescription = ''
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 827d3de79ea84..91ceb959779e2 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "info" ];
   outputBin = "dev"; # libassuan-config
 
-  buildInputs = [ libgpgerror pth ]
-    ++ stdenv.lib.optional stdenv.isDarwin gettext;
+  buildInputs = [ libgpgerror pth gettext];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/libatomic_ops/default.nix b/pkgs/development/libraries/libatomic_ops/default.nix
index 04cf1c1e696ee..0c0fc3861c9ea 100644
--- a/pkgs/development/libraries/libatomic_ops/default.nix
+++ b/pkgs/development/libraries/libatomic_ops/default.nix
@@ -1,22 +1,19 @@
-{ stdenv, fetchurl, autoconf, automake, libtool, hostPlatform }:
+{ stdenv, fetchurl, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   name = "libatomic_ops-${version}";
-  version = "7.6.2";
+  version = "7.6.4";
 
   src = fetchurl {
     urls = [
       "http://www.ivmaisoft.com/_bin/atomic_ops/libatomic_ops-${version}.tar.gz"
       "https://github.com/ivmai/libatomic_ops/releases/download/v${version}/libatomic_ops-${version}.tar.gz"
     ];
-    sha256 ="1rif2hjscq5mh639nsnjhb90c01gnmy1sbmj6x6hsn1xmpnj95r1";
+    sha256 = "0knxncsjhbknlyy6lx7ycxhpzfk3sykhvicgxyp0rmsxd1d3v0jv";
   };
 
   outputs = [ "out" "dev" "doc" ];
 
-  # https://github.com/ivmai/libatomic_ops/pull/32
-  patches = if hostPlatform.isRiscV then [ ./riscv.patch ] else null;
-
   nativeBuildInputs = stdenv.lib.optionals stdenv.isCygwin [ autoconf automake libtool ];
 
   preConfigure = stdenv.lib.optionalString stdenv.isCygwin ''
diff --git a/pkgs/development/libraries/libatomic_ops/riscv.patch b/pkgs/development/libraries/libatomic_ops/riscv.patch
deleted file mode 100644
index 27f2408c34c68..0000000000000
--- a/pkgs/development/libraries/libatomic_ops/riscv.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -Naur libatomic_ops-7.6.2-orig/src/atomic_ops/sysdeps/gcc/riscv.h libatomic_ops-7.6.2/src/atomic_ops/sysdeps/gcc/riscv.h
---- libatomic_ops-7.6.2-orig/src/atomic_ops/sysdeps/gcc/riscv.h	1969-12-31 19:00:00.000000000 -0500
-+++ libatomic_ops-7.6.2/src/atomic_ops/sysdeps/gcc/riscv.h	2018-02-18 00:48:53.581721375 -0500
-@@ -0,0 +1 @@
-+#include "generic.h"
-diff -Naur libatomic_ops-7.6.2-orig/src/atomic_ops.h libatomic_ops-7.6.2/src/atomic_ops.h
---- libatomic_ops-7.6.2-orig/src/atomic_ops.h	2017-12-24 03:31:12.000000000 -0500
-+++ libatomic_ops-7.6.2/src/atomic_ops.h	2018-02-18 00:48:53.580721359 -0500
-@@ -352,6 +352,9 @@
- # if defined(__tile__)
- #   include "atomic_ops/sysdeps/gcc/tile.h"
- # endif
-+# if defined(__riscv)
-+#   include "atomic_ops/sysdeps/gcc/riscv.h"
-+# endif
- #endif /* __GNUC__ && !AO_USE_PTHREAD_DEFS */
- 
- #if (defined(__IBMC__) || defined(__IBMCPP__)) && !defined(__GNUC__) \
-diff -Naur libatomic_ops-7.6.2-orig/src/Makefile.am libatomic_ops-7.6.2/src/Makefile.am
---- libatomic_ops-7.6.2-orig/src/Makefile.am	2017-12-24 03:31:12.000000000 -0500
-+++ libatomic_ops-7.6.2/src/Makefile.am	2018-02-18 00:48:53.579721342 -0500
-@@ -92,6 +92,7 @@
-           atomic_ops/sysdeps/gcc/mips.h \
-           atomic_ops/sysdeps/gcc/nios2.h \
-           atomic_ops/sysdeps/gcc/powerpc.h \
-+          atomic_ops/sysdeps/gcc/riscv.h \
-           atomic_ops/sysdeps/gcc/s390.h \
-           atomic_ops/sysdeps/gcc/sh.h \
-           atomic_ops/sysdeps/gcc/sparc.h \
-diff -Naur libatomic_ops-7.6.2-orig/src/Makefile.in libatomic_ops-7.6.2/src/Makefile.in
---- libatomic_ops-7.6.2-orig/src/Makefile.in	2017-12-24 03:32:23.000000000 -0500
-+++ libatomic_ops-7.6.2/src/Makefile.in	2018-02-18 00:49:14.005062121 -0500
-@@ -446,6 +446,7 @@
-           atomic_ops/sysdeps/gcc/mips.h \
-           atomic_ops/sysdeps/gcc/nios2.h \
-           atomic_ops/sysdeps/gcc/powerpc.h \
-+          atomic_ops/sysdeps/gcc/riscv.h \
-           atomic_ops/sysdeps/gcc/s390.h \
-           atomic_ops/sysdeps/gcc/sh.h \
-           atomic_ops/sysdeps/gcc/sparc.h \
diff --git a/pkgs/development/libraries/libaudclient/default.nix b/pkgs/development/libraries/libaudclient/default.nix
index aab8fcd4beb8b..eebe667badb99 100644
--- a/pkgs/development/libraries/libaudclient/default.nix
+++ b/pkgs/development/libraries/libaudclient/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "3.5-rc2";
 
   src = fetchurl {
-    url = "http://distfiles.audacious-media-player.org/${name}.tar.bz2";
+    url = "https://distfiles.audacious-media-player.org/${name}.tar.bz2";
     sha256 = "0nhpgz0kg8r00z54q5i96pjk7s57krq3fvdypq496c7fmlv9kdap";
   };
 
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 317768518c391..5eb90aaf05c91 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -18,10 +18,10 @@
 
 assert faacSupport -> enableUnfree;
 
-let inherit (stdenv.lib) optional optionals hasPrefix; in
+let inherit (stdenv.lib) optional hasPrefix enableFeature; in
 
 /* ToDo:
-    - more deps, inspiration: http://packages.ubuntu.com/raring/libav-tools
+    - more deps, inspiration: https://packages.ubuntu.com/raring/libav-tools
     - maybe do some more splitting into outputs
 */
 
@@ -51,29 +51,35 @@ let
       substituteInPlace ./configure --replace "#! /bin/sh" "#!${bash}/bin/sh"
     '';
 
-    configureFlags =
-      assert stdenv.lib.all (x: x!=null) buildInputs;
-    [
+    configurePlatforms = [];
+    configureFlags = assert stdenv.lib.all (x: x!=null) buildInputs; [
+      "--arch=${hostPlatform.parsed.cpu.name}"
+      "--target_os=${hostPlatform.parsed.kernel.name}"
       #"--enable-postproc" # it's now a separate package in upstream
       "--disable-avserver" # upstream says it's in a bad state
       "--enable-avplay"
       "--enable-shared"
       "--enable-runtime-cpudetect"
       "--cc=cc"
-    ]
-      ++ optionals enableGPL [ "--enable-gpl" "--enable-swscale" ]
-      ++ optional mp3Support "--enable-libmp3lame"
-      ++ optional speexSupport "--enable-libspeex"
-      ++ optional theoraSupport "--enable-libtheora"
-      ++ optional vorbisSupport "--enable-libvorbis"
-      ++ optional vpxSupport "--enable-libvpx"
-      ++ optional x264Support "--enable-libx264"
-      ++ optional xvidSupport "--enable-libxvid"
-      ++ optional faacSupport "--enable-libfaac --enable-nonfree"
-      ++ optional vaapiSupport "--enable-vaapi"
-      ++ optional vdpauSupport "--enable-vdpau"
-      ++ optional freetypeSupport "--enable-libfreetype"
-      ;
+      (enableFeature enableGPL "gpl")
+      (enableFeature enableGPL "swscale")
+      (enableFeature mp3Support "libmp3lame")
+      (enableFeature mp3Support "libmp3lame")
+      (enableFeature speexSupport "libspeex")
+      (enableFeature theoraSupport "libtheora")
+      (enableFeature vorbisSupport "libvorbis")
+      (enableFeature vpxSupport "libvpx")
+      (enableFeature x264Support "libx264")
+      (enableFeature xvidSupport "libxvid")
+      (enableFeature faacSupport "libfaac")
+      (enableFeature faacSupport "nonfree")
+      (enableFeature vaapiSupport "vaapi")
+      (enableFeature vdpauSupport "vdpau")
+      (enableFeature freetypeSupport "libfreetype")
+    ] ++ optional (stdenv.hostPlatform != stdenv.buildPlatform) [
+      "--cross-prefix=${stdenv.cc.targetPrefix}"
+      "--enable-cross-compile"
+    ];
 
   nativeBuildInputs = [ pkgconfig perl ];
     buildInputs = [ lame yasm zlib bzip2 SDL bash ]
@@ -112,16 +118,6 @@ let
     doInstallCheck = false; # fails randomly
     installCheckTarget = "check"; # tests need to be run *after* installation
 
-    crossAttrs = {
-      configurePlatforms = [];
-      configureFlags = configureFlags ++ [
-        "--cross-prefix=${stdenv.cc.targetPrefix}"
-        "--enable-cross-compile"
-        "--target_os=linux"
-        "--arch=${hostPlatform.arch}"
-        ];
-    };
-
     passthru = { inherit vdpauSupport; };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libb2/default.nix b/pkgs/development/libraries/libb2/default.nix
index eae08f0071cb7..58961a18df17e 100644
--- a/pkgs/development/libraries/libb2/default.nix
+++ b/pkgs/development/libraries/libb2/default.nix
@@ -1,17 +1,26 @@
-{stdenv, fetchurl}:
-with stdenv; with lib;
-mkDerivation rec {
-  name = "libb2-${meta.version}";
+{ stdenv, hostPlatform, fetchurl, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libb2-${version}";
+  version = "0.98";
 
   src = fetchurl {
     url = "https://blake2.net/${name}.tar.gz";
-    sha256 = "7829c7309347650239c76af7f15d9391af2587b38f0a65c250104a2efef99051";
+    sha256 = "1852gh8wwnsghdb9zhxdhw0173plpqzk684npxbl4bzk1hhzisal";
   };
 
-  configureFlags = [ "--enable-fat=yes" ];
+  preConfigure = ''
+    patchShebangs autogen.sh
+    ./autogen.sh
+  '';
+
+  configureFlags = stdenv.lib.optional hostPlatform.isx86 "--enable-fat=yes";
+
+  nativeBuildInputs = [ autoconf automake libtool ];
+
+  doCheck = true;
 
-  meta = {
-    version = "0.97";
+  meta = with stdenv.lib; {
     description = "The BLAKE2 family of cryptographic hash functions";
     platforms = platforms.all;
     maintainers = with maintainers; [ dfoxfranke ];
diff --git a/pkgs/development/libraries/libbdplus/default.nix b/pkgs/development/libraries/libbdplus/default.nix
index 83b9367f99235..3a1b77525143d 100644
--- a/pkgs/development/libraries/libbdplus/default.nix
+++ b/pkgs/development/libraries/libbdplus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libgcrypt, libgpgerror, yacc, flex }:
+{ stdenv, fetchurl, libgcrypt, libgpgerror, gettext }:
 
 # library that allows libbluray to play BDplus protected bluray disks
 # libaacs does not infringe DRM's right or copyright. See the legal page of the website for more info.
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "02n87lysqn4kg2qk7d1ffrp96c44zkdlxdj0n16hbgrlrpiwlcd6";
   };
 
-  buildInputs = [ libgcrypt libgpgerror ];
+  buildInputs = [ libgcrypt libgpgerror gettext ];
 
   nativeBuildInputs = [ ];
 
diff --git a/pkgs/development/libraries/libbfd/default.nix b/pkgs/development/libraries/libbfd/default.nix
index ac508908e8f23..c02e2108f2376 100644
--- a/pkgs/development/libraries/libbfd/default.nix
+++ b/pkgs/development/libraries/libbfd/default.nix
@@ -1,17 +1,15 @@
-{ stdenv, buildPackages
-, fetchurl, fetchpatch, gnu-config, autoreconfHook264, bison
+{ stdenv
+, fetchpatch, gnu-config, autoreconfHook264, bison, binutils-unwrapped
 , libiberty, zlib
 }:
 
-let inherit (buildPackages.buildPackages) binutils-raw; in
-
 stdenv.mkDerivation rec {
   name = "libbfd-${version}";
-  inherit (binutils-raw.bintools) version src;
+  inherit (binutils-unwrapped) version src;
 
   outputs = [ "out" "dev" ];
 
-  patches = binutils-raw.bintools.patches ++ [
+  patches = binutils-unwrapped.patches ++ [
     ../../tools/misc/binutils/build-components-separately.patch
     (fetchpatch {
       url = "https://raw.githubusercontent.com/mxe/mxe/e1d4c144ee1994f70f86cf7fd8168fe69bd629c6/src/bfd-1-disable-subdir-doc.patch";
diff --git a/pkgs/development/libraries/libbladeRF/default.nix b/pkgs/development/libraries/libbladeRF/default.nix
index 3f4f48775c1b7..04bd3f3d71ed3 100644
--- a/pkgs/development/libraries/libbladeRF/default.nix
+++ b/pkgs/development/libraries/libbladeRF/default.nix
@@ -1,9 +1,9 @@
-{ stdenv, fetchFromGitHub, pkgconfig, cmake, git, doxygen, help2man, tecla
+{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, git, doxygen, help2man, ncurses, tecla
 , libusb1, udev }:
 
 stdenv.mkDerivation rec {
   version = "1.9.0";
-  name = "libbladeRF-v${version}";
+  name = "libbladeRF-${version}";
 
   src = fetchFromGitHub {
     owner = "Nuand";
@@ -13,7 +13,10 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake git doxygen help2man tecla libusb1 udev ];
+  # ncurses used due to https://github.com/Nuand/bladeRF/blob/ab4fc672c8bab4f8be34e8917d3f241b1d52d0b8/host/utilities/bladeRF-cli/CMakeLists.txt#L208
+  buildInputs = [ cmake git doxygen help2man tecla libusb1 ]
+    ++ lib.optionals stdenv.isLinux [ udev ]
+    ++ lib.optionals stdenv.isDarwin [ ncurses ];
 
   # Fixup shebang
   prePatch = "patchShebangs host/utilities/bladeRF-cli/src/cmd/doc/generate.bash";
@@ -24,17 +27,19 @@ stdenv.mkDerivation rec {
   '';
 
   cmakeFlags = [
-    "-DCMAKE_BUILD_TYPE=Debug"
+    "-DBUILD_DOCUMENTATION=ON"
+  ] ++ lib.optionals stdenv.isLinux [
     "-DUDEV_RULES_PATH=etc/udev/rules.d"
     "-DINSTALL_UDEV_RULES=ON"
-    "-DBUILD_DOCUMENTATION=ON"
   ];
 
-  meta = with stdenv.lib; {
-    homepage = https://www.nuand.com/;
+  hardeningDisable = [ "fortify" ];
+
+  meta = with lib; {
+    homepage = https://nuand.com/libbladeRF-doc;
     description = "Supporting library of the BladeRF SDR opensource hardware";
     license = licenses.lgpl21;
     maintainers = with maintainers; [ funfunctor ];
-    platforms = with platforms; linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libblockdev/default.nix b/pkgs/development/libraries/libblockdev/default.nix
new file mode 100644
index 0000000000000..585f6f18bbab0
--- /dev/null
+++ b/pkgs/development/libraries/libblockdev/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk-doc, libxslt, docbook_xsl
+, docbook_xml_dtd_43, python3, gobjectIntrospection, glib, udev, kmod, parted, libyaml
+, cryptsetup, lvm2, dmraid, utillinux, libbytesize, libndctl, nss, volume_key
+}:
+
+let
+  version = "2.19";
+in stdenv.mkDerivation rec {
+  name = "libblockdev-${version}";
+
+  src = fetchFromGitHub {
+    owner = "storaged-project";
+    repo = "libblockdev";
+    rev = "${version}-1";
+    sha256 = "1ny31vaarzbpw0h863p2r5cvjsfs77d33nnisf8bhjc6ps6js3ys";
+  };
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  postPatch = ''
+    patchShebangs scripts
+  '';
+
+  nativeBuildInputs = [
+    autoreconfHook pkgconfig gtk-doc libxslt docbook_xsl docbook_xml_dtd_43 python3 gobjectIntrospection
+  ];
+
+  buildInputs = [
+    glib udev kmod parted cryptsetup lvm2 dmraid utillinux libbytesize libndctl nss volume_key libyaml
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A library for manipulating block devices";
+    homepage = http://storaged.org/libblockdev/;
+    license = licenses.lgpl2Plus; # lgpl2Plus for the library, gpl2Plus for the utils
+    maintainers = with maintainers; [];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libblocksruntime/default.nix b/pkgs/development/libraries/libblocksruntime/default.nix
index 34ab70e0adcd3..7863e596e1b8b 100644
--- a/pkgs/development/libraries/libblocksruntime/default.nix
+++ b/pkgs/development/libraries/libblocksruntime/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, clang }:
 
 stdenv.mkDerivation {
-  name = "blocksruntime";
+  name = "blocksruntime-20140624";
 
   src = fetchFromGitHub {
     owner = "mackyle";
diff --git a/pkgs/development/libraries/libbluedevil/default.nix b/pkgs/development/libraries/libbluedevil/default.nix
index d2e4fe90d2cf4..d8f2426e477bc 100644
--- a/pkgs/development/libraries/libbluedevil/default.nix
+++ b/pkgs/development/libraries/libbluedevil/default.nix
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
index 2680b1c6de5c3..8d9c5d0fbba7b 100644
--- a/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
+++ b/pkgs/development/libraries/libbluray/BDJ-JARFILE-path.patch
@@ -1,21 +1,26 @@
-diff -ru3 libbluray-0.8.0/configure.ac libbluray-0.8.0-new/configure.ac
---- libbluray-0.8.0/configure.ac	2015-04-10 09:48:23.000000000 +0300
-+++ libbluray-0.8.0-new/configure.ac	2015-05-18 14:22:01.002075482 +0300
-@@ -231,6 +231,7 @@
-   AC_DEFINE([USING_BDJAVA], [1], ["Define to 1 if using BD-Java"])
-   AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."])
-   AC_DEFINE_UNQUOTED([JDK_HOME], ["$JDK_HOME"], [""])
-+  CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
+diff --git a/configure.ac b/configure.ac
+index 5fd3c8de..7ae343e0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -228,6 +228,10 @@ if test "x$use_bdjava_jar" = "xyes" && test "x$HAVE_ANT" = "xno"; then
+     AC_MSG_ERROR([BD-J requires ANT, but ant was not found. Please install it.])
  fi
- AM_CONDITIONAL([USING_BDJAVA], [ test $use_bdjava = "yes" ])
  
-diff -ru3 libbluray-0.8.0/src/libbluray/bdj/bdj.c libbluray-0.8.0-new/src/libbluray/bdj/bdj.c
---- libbluray-0.8.0/src/libbluray/bdj/bdj.c	2015-04-06 19:25:09.000000000 +0300
-+++ libbluray-0.8.0-new/src/libbluray/bdj/bdj.c	2015-05-18 14:22:59.241312808 +0300
-@@ -228,6 +228,7 @@
- #ifdef _WIN32
-         "" BDJ_JARFILE,
- #else
++if test "x$use_bdjava_jar" = "xyes"; then
++  CPPFLAGS="${CPPFLAGS} -DJARDIR='\"\$(datadir)/java\"'"
++fi
++
+ AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."])
+ AC_DEFINE_UNQUOTED([JDK_HOME], ["$JDK_HOME"], [""])
+ AM_CONDITIONAL([USING_BDJAVA_BUILD_JAR], [ test $use_bdjava_jar = "yes" ])
+diff --git a/src/libbluray/bdj/bdj.c b/src/libbluray/bdj/bdj.c
+index 511ad533..e273b9e0 100644
+--- a/src/libbluray/bdj/bdj.c
++++ b/src/libbluray/bdj/bdj.c
+@@ -478,6 +478,7 @@ static const char *_find_libbluray_jar(BDJ_STORAGE *storage)
+     // pre-defined search paths for libbluray.jar
+     static const char * const jar_paths[] = {
+ #ifndef _WIN32
 +        JARDIR "/" BDJ_JARFILE,
          "/usr/share/java/" BDJ_JARFILE,
          "/usr/share/libbluray/lib/" BDJ_JARFILE,
diff --git a/pkgs/development/libraries/libbsd/cdefs.patch b/pkgs/development/libraries/libbsd/cdefs.patch
new file mode 100644
index 0000000000000..81822654aeb43
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/cdefs.patch
@@ -0,0 +1,222 @@
+From 11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:41:35 +0100
+Subject: Handle systems missing <sys/cdefs.h>
+
+This is a non-portable header, and we cannot expect it to be provided by
+the system libc (e.g. musl). We just need and rely on declaration that
+we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to
+only ever assume that.
+
+Fixes: https://bugs.freedesktop.org/105281
+---
+ include/bsd/libutil.h        | 4 ++++
+ include/bsd/md5.h            | 4 ++++
+ include/bsd/nlist.h          | 4 ++++
+ include/bsd/readpassphrase.h | 4 ++++
+ include/bsd/stdlib.h         | 4 ++++
+ include/bsd/string.h         | 4 ++++
+ include/bsd/stringlist.h     | 5 +++++
+ include/bsd/sys/queue.h      | 4 ++++
+ include/bsd/sys/tree.h       | 4 ++++
+ include/bsd/timeconv.h       | 4 ++++
+ include/bsd/vis.h            | 4 ++++
+ include/bsd/wchar.h          | 4 ++++
+ 12 files changed, 49 insertions(+)
+
+diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
+index 45b3b15..ccca29a 100644
+--- a/include/bsd/libutil.h
++++ b/include/bsd/libutil.h
+@@ -40,7 +40,11 @@
+ #define LIBBSD_LIBUTIL_H
+ 
+ #include <features.h>
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ #include <stdint.h>
+ #include <stdio.h>
+diff --git a/include/bsd/md5.h b/include/bsd/md5.h
+index 5f3ae46..bf36a30 100644
+--- a/include/bsd/md5.h
++++ b/include/bsd/md5.h
+@@ -27,7 +27,11 @@ typedef struct MD5Context {
+ 	uint8_t buffer[MD5_BLOCK_LENGTH];	/* input buffer */
+ } MD5_CTX;
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+diff --git a/include/bsd/nlist.h b/include/bsd/nlist.h
+index cb297e8..8767117 100644
+--- a/include/bsd/nlist.h
++++ b/include/bsd/nlist.h
+@@ -27,7 +27,11 @@
+ #ifndef LIBBSD_NLIST_H
+ #define LIBBSD_NLIST_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ struct nlist {
+ 	union {
+diff --git a/include/bsd/readpassphrase.h b/include/bsd/readpassphrase.h
+index 14744b8..5eb8021 100644
+--- a/include/bsd/readpassphrase.h
++++ b/include/bsd/readpassphrase.h
+@@ -31,7 +31,11 @@
+ #define RPP_SEVENBIT    0x10		/* Strip the high bit from input. */
+ #define RPP_STDIN       0x20		/* Read from stdin, not /dev/tty */
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
+index ebc9638..8d33d1f 100644
+--- a/include/bsd/stdlib.h
++++ b/include/bsd/stdlib.h
+@@ -42,7 +42,11 @@
+ #ifndef LIBBSD_STDLIB_H
+ #define LIBBSD_STDLIB_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/stat.h>
+ #include <stdint.h>
+ 
+diff --git a/include/bsd/string.h b/include/bsd/string.h
+index 6798bf6..29097f6 100644
+--- a/include/bsd/string.h
++++ b/include/bsd/string.h
+@@ -33,7 +33,11 @@
+ #ifndef LIBBSD_STRING_H
+ #define LIBBSD_STRING_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+diff --git a/include/bsd/stringlist.h b/include/bsd/stringlist.h
+index ff30cac..dd71496 100644
+--- a/include/bsd/stringlist.h
++++ b/include/bsd/stringlist.h
+@@ -31,7 +31,12 @@
+ 
+ #ifndef LIBBSD_STRINGLIST_H
+ #define LIBBSD_STRINGLIST_H
++
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ /*
+diff --git a/include/bsd/sys/queue.h b/include/bsd/sys/queue.h
+index 4a94ea7..ac00026 100644
+--- a/include/bsd/sys/queue.h
++++ b/include/bsd/sys/queue.h
+@@ -33,7 +33,11 @@
+ #ifndef LIBBSD_SYS_QUEUE_H
+ #define LIBBSD_SYS_QUEUE_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ /*
+  * This file defines four types of data structures: singly-linked lists,
+diff --git a/include/bsd/sys/tree.h b/include/bsd/sys/tree.h
+index 628bec0..325b382 100644
+--- a/include/bsd/sys/tree.h
++++ b/include/bsd/sys/tree.h
+@@ -30,7 +30,11 @@
+ #ifndef LIBBSD_SYS_TREE_H
+ #define LIBBSD_SYS_TREE_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ /*
+  * This file defines data structures for different types of trees:
+diff --git a/include/bsd/timeconv.h b/include/bsd/timeconv.h
+index e2a2c55..a426bd3 100644
+--- a/include/bsd/timeconv.h
++++ b/include/bsd/timeconv.h
+@@ -41,7 +41,11 @@
+ #ifndef LIBBSD_TIMECONV_H
+ #define LIBBSD_TIMECONV_H
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <stdint.h>
+ #include <time.h>
+ 
+diff --git a/include/bsd/vis.h b/include/bsd/vis.h
+index 970dfdd..ab5430c 100644
+--- a/include/bsd/vis.h
++++ b/include/bsd/vis.h
+@@ -72,7 +72,11 @@
+  */
+ #define	UNVIS_END	1	/* no more characters */
+ 
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ 
+ __BEGIN_DECLS
+ char	*vis(char *, int, int, int);
+diff --git a/include/bsd/wchar.h b/include/bsd/wchar.h
+index 33a500e..7216503 100644
+--- a/include/bsd/wchar.h
++++ b/include/bsd/wchar.h
+@@ -40,7 +40,11 @@
+ #define LIBBSD_WCHAR_H
+ 
+ #include <stddef.h>
++#ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
++#else
++#include <bsd/sys/cdefs.h>
++#endif
+ #include <sys/types.h>
+ 
+ __BEGIN_DECLS
+-- 
+cgit v1.1
+
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index 0e232a50e943f..36410e842a5dd 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.8.7";
 
   src = fetchurl {
-    url = "http://libbsd.freedesktop.org/releases/${name}.tar.xz";
+    url = "https://libbsd.freedesktop.org/releases/${name}.tar.xz";
     sha256 = "0c9bl49zs0xdddcwj5dh0lay9sxi2m1yi74848g8p87mb87g2j7m";
   };
 
@@ -13,7 +13,16 @@ stdenv.mkDerivation rec {
   # the configure scripts
   nativeBuildInputs = [ autoreconfHook ];
 
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./darwin.patch
+    # Suitable for all, but limited to musl to avoid rebuilds
+    ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+      # https://cgit.freedesktop.org/libbsd/commit/?id=1f8a3f7bccfc84b195218ad0086ebd57049c3490
+      ./non-glibc.patch
+      # https://cgit.freedesktop.org/libbsd/commit/?id=11ec8f1e5dfa1c10e0c9fb94879b6f5b96ba52dd
+      ./cdefs.patch
+      # https://cgit.freedesktop.org/libbsd/commit/?id=b20272f5a966333b49fdf2bda797e2a9f0227404
+      ./features.patch
+  ];
 
   meta = with stdenv.lib; {
     description = "Common functions found on BSD systems";
diff --git a/pkgs/development/libraries/libbsd/features.patch b/pkgs/development/libraries/libbsd/features.patch
new file mode 100644
index 0000000000000..66bd1e9232bad
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/features.patch
@@ -0,0 +1,26 @@
+From b20272f5a966333b49fdf2bda797e2a9f0227404 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:42:52 +0100
+Subject: Remove <features.h> inclusion from <bsd/libutil.h>
+
+This is a non-portable header, and we should not assume it is present.
+Let the first system header pull it in if needed.
+---
+ include/bsd/libutil.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
+index ccca29a..e5f148a 100644
+--- a/include/bsd/libutil.h
++++ b/include/bsd/libutil.h
+@@ -39,7 +39,6 @@
+ #ifndef LIBBSD_LIBUTIL_H
+ #define LIBBSD_LIBUTIL_H
+ 
+-#include <features.h>
+ #ifdef LIBBSD_OVERLAY
+ #include <sys/cdefs.h>
+ #else
+-- 
+cgit v1.1
+
diff --git a/pkgs/development/libraries/libbsd/non-glibc.patch b/pkgs/development/libraries/libbsd/non-glibc.patch
new file mode 100644
index 0000000000000..f61e0d242943a
--- /dev/null
+++ b/pkgs/development/libraries/libbsd/non-glibc.patch
@@ -0,0 +1,74 @@
+From 1f8a3f7bccfc84b195218ad0086ebd57049c3490 Mon Sep 17 00:00:00 2001
+From: Guillem Jover <guillem@hadrons.org>
+Date: Tue, 6 Mar 2018 01:39:45 +0100
+Subject: Fix function declaration protection for glibc already providing them
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+On non-glibc based systems we cannot unconditionally use the
+__GLIBC_PREREQ macro as it gets expanded before evaluation. Instead,
+if it is undefined, define it to 0.
+
+We should also always declare these functions on non-glibc based
+systems. And on systems with a new enough glibc, which provides these
+functions, we should still provide the declarations if _GNU_SOURCE
+is *not* defined.
+
+Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
+---
+ include/bsd/stdlib.h    | 3 ++-
+ include/bsd/string.h    | 3 ++-
+ include/bsd/sys/cdefs.h | 8 ++++++++
+ 3 files changed, 12 insertions(+), 2 deletions(-)
+
+diff --git a/include/bsd/stdlib.h b/include/bsd/stdlib.h
+index 8d33d1f..a5b063c 100644
+--- a/include/bsd/stdlib.h
++++ b/include/bsd/stdlib.h
+@@ -71,7 +71,8 @@ int sradixsort(const unsigned char **base, int nmemb,
+                const unsigned char *table, unsigned endbyte);
+ 
+ void *reallocf(void *ptr, size_t size);
+-#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 26)
++#if !defined(__GLIBC__) || \
++    (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 26) || !defined(_GNU_SOURCE)))
+ void *reallocarray(void *ptr, size_t nmemb, size_t size);
+ #endif
+ 
+diff --git a/include/bsd/string.h b/include/bsd/string.h
+index 29097f6..f987fee 100644
+--- a/include/bsd/string.h
++++ b/include/bsd/string.h
+@@ -46,7 +46,8 @@ size_t strlcat(char *dst, const char *src, size_t siz);
+ char *strnstr(const char *str, const char *find, size_t str_len);
+ void strmode(mode_t mode, char *str);
+ 
+-#if defined(_GNU_SOURCE) && defined(__GLIBC__) && !__GLIBC_PREREQ(2, 25)
++#if !defined(__GLIBC__) || \
++    (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 25) || !defined(_GNU_SOURCE)))
+ void explicit_bzero(void *buf, size_t len);
+ #endif
+ __END_DECLS
+diff --git a/include/bsd/sys/cdefs.h b/include/bsd/sys/cdefs.h
+index b4c8f30..d1cc419 100644
+--- a/include/bsd/sys/cdefs.h
++++ b/include/bsd/sys/cdefs.h
+@@ -59,6 +59,14 @@
+ #endif
+ 
+ /*
++ * On non-glibc based systems, we cannot unconditionally use the
++ * __GLIBC_PREREQ macro as it gets expanded before evaluation.
++ */
++#ifndef __GLIBC_PREREQ
++#define __GLIBC_PREREQ(maj, min) 0
++#endif
++
++/*
+  * Some kFreeBSD headers expect those macros to be set for sanity checks.
+  */
+ #ifndef _SYS_CDEFS_H_
+-- 
+cgit v1.1
+
diff --git a/pkgs/development/libraries/libbson/default.nix b/pkgs/development/libraries/libbson/default.nix
index 6e9b033a976a4..6244c3a351e76 100644
--- a/pkgs/development/libraries/libbson/default.nix
+++ b/pkgs/development/libraries/libbson/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libbson-${version}";
-  version = "1.9.3";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "mongodb";
     repo = "libbson";
     rev = version;
-    sha256 = "0dbpmvd2p9bdqdyiijmsc1hd9d6l36migk79smw7fpfvh0y6ldsk";
+    sha256 = "16rmzxhhmbvhp4q6qac5j9c74z2pcg5raag5w16mynzikdd2l05b";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libbytesize/default.nix b/pkgs/development/libraries/libbytesize/default.nix
new file mode 100644
index 0000000000000..724e9f1b74a3b
--- /dev/null
+++ b/pkgs/development/libraries/libbytesize/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gettext
+, gtk-doc, libxslt, docbook_xml_dtd_43, docbook_xsl
+, python3, pcre, gmp, mpfr
+}:
+
+let
+  version = "1.4";
+in stdenv.mkDerivation rec {
+  name = "libbytesize-${version}";
+
+  src = fetchFromGitHub {
+    owner = "storaged-project";
+    repo = "libbytesize";
+    rev = version;
+    sha256 = "1yxlc0f960rhqmh3fs3p0hvw0y2cikplgc27zsz6rn4h5dlrfmi2";
+  };
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig gettext gtk-doc libxslt docbook_xml_dtd_43 docbook_xsl python3 ];
+
+  buildInputs = [ pcre gmp mpfr ];
+
+  meta = with stdenv.lib; {
+    description = "A tiny library providing a C “class” for working with arbitrary big sizes in bytes";
+    homepage = src.meta.homepage;
+    license = licenses.lgpl2Plus;
+    maintainers = with maintainers; [];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix
index 1b2cf4084f931..8addb6128f0cf 100644
--- a/pkgs/development/libraries/libcanberra/default.nix
+++ b/pkgs/development/libraries/libcanberra/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, libtool, gtk ? null, libcap
-, alsaLib, libpulseaudio, gstreamer, gst-plugins-base, libvorbis }:
+{ stdenv, lib, fetchurl, fetchpatch, pkgconfig, libtool
+, gtk ? null
+, libpulseaudio, gst_all_1, libvorbis, libcap
+, withAlsa ? stdenv.isLinux, alsaLib }:
 
 stdenv.mkDerivation rec {
   name = "libcanberra-0.30";
@@ -9,13 +11,21 @@ stdenv.mkDerivation rec {
     sha256 = "0wps39h8rx2b00vyvkia5j40fkak3dpipp1kzilqla0cgvk73dn2";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig libtool ];
   buildInputs = [
-    libtool alsaLib libpulseaudio libvorbis gtk libcap
-    /*gstreamer gst-plugins-base*/      # ToDo: gstreamer not found (why?), add (g)udev?
-  ];
+    libpulseaudio libvorbis gtk
+  ] ++ (with gst_all_1; [ gstreamer gst-plugins-base ])
+    ++ lib.optional stdenv.isLinux libcap
+    ++ lib.optional withAlsa alsaLib;
 
-  configureFlags = "--disable-oss";
+  configureFlags = [ "--disable-oss" ];
+
+  patchFlags = "-p0";
+  patches = stdenv.lib.optional stdenv.isDarwin
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/master/audio/libcanberra/files/patch-configure.diff";
+      sha256 = "1f7h7ifpqvbfhqygn1b7klvwi80zmpv3538vbmq7ql7bkf1q8h31";
+    });
 
   postInstall = ''
     for f in $out/lib/*.la; do
@@ -43,6 +53,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl2Plus;
 
     maintainers = [ ];
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index 5ae17fe78f057..218eaeea571a4 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -9,5 +9,6 @@ stdenv.mkDerivation {
 
   meta = {
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl2;
   };
 }
diff --git a/pkgs/development/libraries/libcddb/default.nix b/pkgs/development/libraries/libcddb/default.nix
index 6a164ef905534..591369df83f1c 100644
--- a/pkgs/development/libraries/libcddb/default.nix
+++ b/pkgs/development/libraries/libcddb/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
 
+  doCheck = false; # fails 3 of 5 tests with locale errors
+
   meta = with stdenv.lib; {
     description = "C library to access data on a CDDB server (freedb.org)";
     homepage = http://libcddb.sourceforge.net/;
diff --git a/pkgs/development/libraries/libcdio/default.nix b/pkgs/development/libraries/libcdio/default.nix
index bb81721feeaec..9dc3c1d11ba1d 100644
--- a/pkgs/development/libraries/libcdio/default.nix
+++ b/pkgs/development/libraries/libcdio/default.nix
@@ -8,12 +8,15 @@ stdenv.mkDerivation rec {
     sha256 = "0jr8ppdm80c533nzmrpz3iffnpc6nhvsria1di9f4jg1l19a03fd";
   };
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libcddb ncurses help2man ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv Carbon IOKit ];
 
-  # Disabled due to several spurious test failures.
-  # doCheck = true;
+  doCheck = true;
 
   meta = with stdenv.lib; {
     description = "A library for OS-independent CD-ROM and CD image access";
diff --git a/pkgs/development/libraries/libcdr/default.nix b/pkgs/development/libraries/libcdr/default.nix
index 6d8cafcfaa604..5e46f4dc699d2 100644
--- a/pkgs/development/libraries/libcdr/default.nix
+++ b/pkgs/development/libraries/libcdr/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libcdr-0.1.4";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/${name}.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/${name}.tar.xz";
     sha256 = "0vd6likgk51j46llybkx4wq3674xzrhp0k82220pkx9x1aqfi9z7";
   };
 
@@ -18,8 +18,7 @@ stdenv.mkDerivation rec {
     sed -i 's,^CPPFLAGS.*,\0 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED,' src/lib/Makefile.in
   '';
 
-  configureFlags = if stdenv.cc.isClang
-    then [ "--disable-werror" ] else null;
+  configureFlags = stdenv.lib.optional stdenv.cc.isClang "--disable-werror";
 
   CXXFLAGS="--std=gnu++0x"; # For c++11 constants in lcms2.h
 
@@ -27,5 +26,6 @@ stdenv.mkDerivation rec {
     description = "A library providing ability to interpret and import Corel Draw drawings into various applications";
     homepage = http://www.freedesktop.org/wiki/Software/libcdr;
     platforms = stdenv.lib.platforms.all;
+    license = stdenv.lib.licenses.mpl20;
   };
 }
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
new file mode 100644
index 0000000000000..22debc6d68aaf
--- /dev/null
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchurl, cmake, alsaLib, atk, cairo, cups, dbus, expat, fontconfig
+, GConf, gdk_pixbuf, glib, gtk2, libX11, libxcb, libXcomposite, libXcursor
+, libXdamage, libXext, libXfixes, libXi, libXrandr, libXrender, libXScrnSaver
+, libXtst, nspr, nss, pango, libpulseaudio, systemd }:
+
+let
+  libPath =
+    stdenv.lib.makeLibraryPath [
+      alsaLib atk cairo cups dbus expat fontconfig GConf gdk_pixbuf glib gtk2
+      libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi
+      libXrandr libXrender libXScrnSaver libXtst nspr nss pango libpulseaudio
+      systemd
+    ];
+in
+stdenv.mkDerivation rec {
+  name = "cef-binary-${version}";
+  # Not very recent but more recent versions have problems:
+  # https://github.com/bazukas/obs-linuxbrowser/issues/63
+  version = "3.3325.1750.gaabe4c4";
+  src = fetchurl {
+    url = "http://opensource.spotify.com/cefbuilds/cef_binary_${version}_linux64.tar.bz2";
+    sha256 = "06pj1ci1lwammz1vwmbgw2fri7gkvbpv4iw67pqckd9xz0cfhwzr";
+  };
+  nativeBuildInputs = [ cmake ];
+  makeFlags = "libcef_dll_wrapper";
+  dontStrip = true;
+  dontPatchELF = true;
+  installPhase = ''
+    mkdir -p $out/lib/ $out/share/cef/
+    cp libcef_dll_wrapper/libcef_dll_wrapper.a $out/lib/
+    cp ../Release/libcef.so $out/lib/
+    patchelf --set-rpath "${libPath}" $out/lib/libcef.so
+    cp ../Release/*.bin $out/share/cef/
+    cp -r ../Resources/* $out/share/cef/
+    cp -r ../include $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple framework for embedding Chromium-based browsers in other applications";
+    homepage = http://opensource.spotify.com/cefbuilds/index.html;
+    maintainers = with maintainers; [ puffnfresh ];
+    license = licenses.bsd3;
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index 74e5bbc952aec..e4864aded279f 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk3, cairo, clutter, sqlite, gnome3
+{ fetchurl, stdenv, pkgconfig, glib, gtk3, cairo, sqlite, gnome3
 , clutter-gtk, libsoup, gobjectIntrospection /*, libmemphis */ }:
 
 let
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     '';
 
      maintainers = gnome3.maintainers;
-     platforms = platforms.gnu;  # arbitrary choice
+     platforms = platforms.gnu ++ platforms.linux;  # arbitrary choice
   };
 }
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index 1be3a74fbff57..f524c94025585 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
 
     homepage = http://nongnu.org/libchop/;
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ viric ];
-    platforms = platforms.gnu;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.gnu ++ platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libclthreads/default.nix b/pkgs/development/libraries/libclthreads/default.nix
index ea27046279c70..6d37eb19c7122 100644
--- a/pkgs/development/libraries/libclthreads/default.nix
+++ b/pkgs/development/libraries/libclthreads/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "2.4.0";
 
   src = fetchurl {
-    url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${version}.tar.bz2";
+    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clthreads-${version}.tar.bz2";
     sha256 = "1s8xx99z6llv46cvkllmd72v2pkzbfl5gngcql85mf14mxkdb7x6";
   };
 
diff --git a/pkgs/development/libraries/libclxclient/default.nix b/pkgs/development/libraries/libclxclient/default.nix
index 3386b081a104c..ce67a8efa80e6 100644
--- a/pkgs/development/libraries/libclxclient/default.nix
+++ b/pkgs/development/libraries/libclxclient/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "3.9.0";
 
   src = fetchurl {
-    url = "http://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${version}.tar.bz2";
+    url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/clxclient-${version}.tar.bz2";
     sha256 = "14l7xrh964gllymraq4n5pgax94p5jsfjslqi5c6637zc4lmgnl0";
   };
 
diff --git a/pkgs/development/libraries/libcmis/default.nix b/pkgs/development/libraries/libcmis/default.nix
index 9ab42c7fd1dd9..d62d1a8026456 100644
--- a/pkgs/development/libraries/libcmis/default.nix
+++ b/pkgs/development/libraries/libcmis/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ boost libxml2 curl ];
-  configureFlags = "--without-man --with-boost=${boost.dev} --disable-werror --disable-tests";
+  configureFlags = [ "--without-man" "--with-boost=${boost.dev}" "--disable-werror" "--disable-tests" ];
 
   # Cppcheck cannot find all the include files (use --check-config for details)
   doCheck = false;
diff --git a/pkgs/development/libraries/libcollectdclient/default.nix b/pkgs/development/libraries/libcollectdclient/default.nix
index e4e61c9428367..4f4007649d04c 100644
--- a/pkgs/development/libraries/libcollectdclient/default.nix
+++ b/pkgs/development/libraries/libcollectdclient/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchurl, collectd }:
+{ stdenv, collectd }:
 with stdenv.lib;
 
-overrideDerivation collectd (oldAttrs: {
+collectd.overrideAttrs (oldAttrs: {
   name = "libcollectdclient-${collectd.version}";
   buildInputs = [ ];
 
@@ -16,7 +16,6 @@ overrideDerivation collectd (oldAttrs: {
 
   postInstall = "rm -rf $out/{bin,etc,sbin,share}";
 
-}) // {
   meta = with stdenv.lib; {
     description = "C Library for collectd, a daemon which collects system performance statistics periodically";
     homepage = http://collectd.org;
@@ -24,4 +23,4 @@ overrideDerivation collectd (oldAttrs: {
     platforms = platforms.linux; # TODO: collectd may be linux but the C client may be more portable?
     maintainers = [ maintainers.sheenobu maintainers.bjornfor ];
   };
-}
+})
diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix
index 6192266bd4aa2..f247c48821f75 100644
--- a/pkgs/development/libraries/libcommuni/default.nix
+++ b/pkgs/development/libraries/libcommuni/default.nix
@@ -19,12 +19,17 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   dontUseQmakeConfigure = true;
-  configureFlags = "-config release";
+  configureFlags = [ "-config" "release" ];
+
   preConfigure = ''
     sed -i -e 's|/bin/pwd|pwd|g' configure
   '';
 
-  doCheck = true;
+  # The tests fail on darwin because of install_name if they run
+  # before the frameworks are installed.
+  doCheck = false;
+  doInstallCheck = true;
+  installCheckTarget = "check";
 
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = "rm -rf lib";
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 7c7cd1c3aae2c..347e3218c1dc6 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libcouchbase-${version}";
-  version = "2.8.5";
+  version = "2.9.2";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "1iwzf0y5f25g5hgdkmv6qf3k5mzlazrpx5sj3m2pvrl9jg9wn4s1";
+    sha256 = "1ca3jp1nr5dk2w35wwyhsf96pblbw6n6n7a3ja264ivc9nhpkz4z";
   };
 
   cmakeFlags = "-DLCB_NO_MOCK=ON";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ libevent openssl ];
 
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
   checkPhase = "ctest";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libcue/default.nix b/pkgs/development/libraries/libcue/default.nix
index fb0f0d3d3f9c0..e50b8a13b9509 100644
--- a/pkgs/development/libraries/libcue/default.nix
+++ b/pkgs/development/libraries/libcue/default.nix
@@ -2,17 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "libcue-${version}";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "lipnitsk";
     repo = "libcue";
     rev = "v${version}";
-    sha256 = "0znn9scamy1nsz1dzvsamqg46zr7ldfvpxiyzi1ss9d6gbcm0frs";
+    sha256 = "1iqw4n01rv2jyk9lksagyxj8ml0kcfwk67n79zy1r6zv1xfp5ywm";
   };
 
   nativeBuildInputs = [ cmake bison flex ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     description = "CUE Sheet Parser Library";
     longDescription = ''
diff --git a/pkgs/development/libraries/libcutl/default.nix b/pkgs/development/libraries/libcutl/default.nix
index 7b4d39f955aab..81122a6eb520e 100644
--- a/pkgs/development/libraries/libcutl/default.nix
+++ b/pkgs/development/libraries/libcutl/default.nix
@@ -15,7 +15,7 @@ mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "http://codesynthesis.com/download/libcutl/1.9/${name}.tar.bz2";
+    url = "https://codesynthesis.com/download/libcutl/1.9/${name}.tar.bz2";
     sha1 = "0e8d255145afbc339a3284ef85a43f4baf3fec43";
   };
 
diff --git a/pkgs/development/libraries/libdap/default.nix b/pkgs/development/libraries/libdap/default.nix
index fc0221b93889f..5a0006ad6c6e3 100644
--- a/pkgs/development/libraries/libdap/default.nix
+++ b/pkgs/development/libraries/libdap/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libuuid curl libxml2 ];
 
   src = fetchurl {
-    url = "http://www.opendap.org/pub/source/${name}.tar.gz";
+    url = "https://www.opendap.org/pub/source/${name}.tar.gz";
     sha256 = "0gnki93z3kkzp65x7n1kancy7bd503j4qja5fhzvm1gkmi5l65aj";
   };
 
diff --git a/pkgs/development/libraries/libdazzle/default.nix b/pkgs/development/libraries/libdazzle/default.nix
index 50f03f3ac7ac3..0b06aef952405 100644
--- a/pkgs/development/libraries/libdazzle/default.nix
+++ b/pkgs/development/libraries/libdazzle/default.nix
@@ -1,8 +1,8 @@
-{ stdenv, pkgs, fetchurl, ninja, meson, pkgconfig, vala, gobjectIntrospection, libxml2
+{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobjectIntrospection, libxml2
 , gtk-doc, docbook_xsl, dbus, xvfb_run, glib, gtk3, gnome3 }:
 
 let
-  version = "3.28.0";
+  version = "3.28.5";
   pname = "libdazzle";
 in
 stdenv.mkDerivation {
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://gnome/sources/libdazzle/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0zq37i7gnmnc7qfngzhj71nqhf2wxl4m247s2ym9ykakxbi6zajp";
+    sha256 = "08qdwv2flywnh6kibkyv0pnm67pk8xlmjh4yqx6hf13hyhkxkqgg";
   };
 
   nativeBuildInputs = [ ninja meson pkgconfig vala gobjectIntrospection libxml2 gtk-doc docbook_xsl dbus xvfb_run ];
diff --git a/pkgs/development/libraries/libdbusmenu-qt/default.nix b/pkgs/development/libraries/libdbusmenu-qt/default.nix
index 34ba39d799ed5..1342ee6773f71 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/default.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/default.nix
@@ -3,7 +3,7 @@
 let
   baseName = "libdbusmenu-qt";
   v = "0.9.2";
-  homepage = "http://launchpad.net/${baseName}";
+  homepage = "https://launchpad.net/${baseName}";
   name = "${baseName}-${v}";
 in
 
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ cmake ];
 
   cmakeFlags = "-DWITH_DOC=OFF";
-  
+
   meta = with stdenv.lib; {
     description = "Provides a Qt implementation of the DBusMenu spec";
     inherit homepage;
diff --git a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
index 75cf69035cbe8..9c25757efb032 100644
--- a/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
+++ b/pkgs/development/libraries/libdbusmenu-qt/qt-5.5.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libdbusmenu-qt-0.9.3+14";
 
   src = fetchbzr {
-    url = "http://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
+    url = "https://bazaar.launchpad.net/~dbusmenu-team/libdbusmenu-qt/trunk";
     rev = "ps-jenkins@lists.canonical.com-20140619090718-mppiiax5atpnb8i2";
     sha256 = "1dbhaljyivbv3wc184zpjfjmn24zb6aj72wgg1gg1xl5f783issd";
   };
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index 220cc5a2eeb42..730cef6f6960e 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
     "--disable-scrollkeeper"
   ] ++ optional (gtkVersion != "2") "--disable-dumper";
 
+  doCheck = false; # generates shebangs in check phase, too lazy to fix
+
   installFlags = [
     "sysconfdir=\${out}/etc"
     "localstatedir=\${TMPDIR}"
diff --git a/pkgs/development/libraries/libde265/default.nix b/pkgs/development/libraries/libde265/default.nix
new file mode 100644
index 0000000000000..07823072bad4a
--- /dev/null
+++ b/pkgs/development/libraries/libde265/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  version = "1.0.3";
+  name = "libde265-${version}";
+
+  src = fetchFromGitHub {
+    owner = "strukturag";
+    repo = "libde265";
+    rev = "v${version}";
+    sha256 = "049g77f6c5sbk1h534zi9akj3y5h8zwnca5c9kqqjkn7f17irk10";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  meta = {
+    homepage = "https://github.com/strukturag/libde265";
+    description = "Open h.265 video codec implementation";
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ gebner ];
+  };
+
+}
diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix
index f88d20bee7036..78e7490cd992a 100644
--- a/pkgs/development/libraries/libdevil/default.nix
+++ b/pkgs/development/libraries/libdevil/default.nix
@@ -42,6 +42,13 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  postPatch = ''
+    for a in test/Makefile.in test/format_test/format_checks.sh.in ; do
+      substituteInPlace $a \
+        --replace /bin/bash ${stdenv.shell}
+    done
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://openil.sourceforge.net/;
     description = "An image library which can can load, save, convert, manipulate, filter and display a wide variety of image formats";
diff --git a/pkgs/development/libraries/libdigidoc/default.nix b/pkgs/development/libraries/libdigidoc/default.nix
index f8d896bda3768..7fe7319ff15ee 100644
--- a/pkgs/development/libraries/libdigidoc/default.nix
+++ b/pkgs/development/libraries/libdigidoc/default.nix
@@ -2,22 +2,18 @@
 
 stdenv.mkDerivation rec {
 
-  version = "3.10.1.1212";
+  version = "3.10.4";
   name = "libdigidoc-${version}";
-  
+
   src = fetchurl {
-    url = "https://installer.id.ee/media/ubuntu/pool/main/libd/libdigidoc/libdigidoc_3.10.1.1212.orig.tar.xz";
-    sha256 = "ad5e0603aea2e02977f17318cc93a53c3a19a815e57b2347d97136d11c110807";
+    url = "https://github.com/open-eid/libdigidoc/releases/download/v${version}/libdigidoc-${version}.tar.gz";
+    sha256 = "0w5wsaj2a5wss1r9j39bfsrkp3xz0w3v1gnr190v6k7l74l453w1";
   };
 
-  unpackPhase = ''
-    mkdir src
-    tar xf $src -C src
-    cd src
-  '';
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ openssl pcsclite opensc libxml2 ];
 
-  buildInputs = [ cmake openssl pcsclite opensc libxml2 ];
-  
   meta = with stdenv.lib; {
     description = "Library for creating DigiDoc signature files";
     homepage = http://www.id.ee/;
diff --git a/pkgs/development/libraries/libdigidocpp/default.nix b/pkgs/development/libraries/libdigidocpp/default.nix
index 6ff8a03175e81..3df820bc12631 100644
--- a/pkgs/development/libraries/libdigidocpp/default.nix
+++ b/pkgs/development/libraries/libdigidocpp/default.nix
@@ -1,26 +1,22 @@
 { stdenv, fetchurl, cmake, libdigidoc, minizip, pcsclite, opensc, openssl
-, xercesc, xml-security-c, pkgconfig, xsd, zlib, vim }:
+, xercesc, xml-security-c, pkgconfig, xsd, zlib, xalanc, xxd }:
 
 stdenv.mkDerivation rec {
-
-  version = "3.13.3.1365";
+  version = "3.13.6";
   name = "libdigidocpp-${version}";
 
   src = fetchurl {
-    url = "https://installer.id.ee/media/ubuntu/pool/main/libd/libdigidocpp/libdigidocpp_3.13.3.1365.orig.tar.xz";
-    sha256 = "1xmvjh5xzspm6ja8hz6bzblwly7yn2jni2m6kx8ny9g65zjrj2iw";
+     url = "https://github.com/open-eid/libdigidocpp/releases/download/v${version}/libdigidocpp-${version}.tar.gz";
+     sha256 = "1sdrj7664737k3kbnj2xrnilnx5ifj8hg42z8pxagb0j81x0pnqj";
   };
 
-  unpackPhase = ''
-    mkdir src
-    tar xf $src -C src
-    cd src
-  '';
+  nativeBuildInputs = [ cmake pkgconfig xxd ];
+
+  buildInputs = [
+    libdigidoc minizip pcsclite opensc openssl xercesc
+    xml-security-c xsd zlib xalanc
+  ];
 
-  buildInputs = [ cmake libdigidoc minizip pcsclite opensc openssl xercesc
-                  xml-security-c pkgconfig xsd zlib vim
-                ];
-  
   meta = with stdenv.lib; {
     description = "Library for creating DigiDoc signature files";
     homepage = http://www.id.ee/;
diff --git a/pkgs/development/libraries/libdivecomputer/default.nix b/pkgs/development/libraries/libdivecomputer/default.nix
index a09e48dcc1d9b..c94806b50c10d 100644
--- a/pkgs/development/libraries/libdivecomputer/default.nix
+++ b/pkgs/development/libraries/libdivecomputer/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.6.0";
 
   src = fetchurl {
-    url = "http://www.libdivecomputer.org/releases/${name}.tar.gz";
+    url = "https://www.libdivecomputer.org/releases/${name}.tar.gz";
     sha256 = "0nm1mcscpxb9dv4p0lidd6rf5xg4vmcbigj6zqxvgn7pwnvpbzm0";
   };
 
diff --git a/pkgs/development/libraries/libdmtx/default.nix b/pkgs/development/libraries/libdmtx/default.nix
index 390bb4ea9e45f..f5248dfc79e6a 100644
--- a/pkgs/development/libraries/libdmtx/default.nix
+++ b/pkgs/development/libraries/libdmtx/default.nix
@@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
     homepage = http://libdmtx.org;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
+    license = stdenv.lib.licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index 3eb7325132a8a..5107d8898d463 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, valgrind-light }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.90";
+  name = "libdrm-2.4.93";
 
   src = fetchurl {
-    url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "db37ec8f1dbaa2c192ad9903c8d0988b858ae88031e96f169bf76aaf705db68b";
+    url = "https://dri.freedesktop.org/libdrm/${name}.tar.bz2";
+    sha256 = "0g6d9wsnb7lx8r1m4kq8js0wsc5jl20cz1csnlh6z9s8jpfd313f";
   };
 
   outputs = [ "out" "dev" "bin" ];
@@ -16,15 +16,21 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
 
+  postPatch = ''
+    for a in */*-symbol-check ; do
+      patchShebangs $a
+    done
+  '';
+
   preConfigure = stdenv.lib.optionalString stdenv.isDarwin
     "echo : \\\${ac_cv_func_clock_gettime=\'yes\'} > config.cache";
 
   configureFlags = [ "--enable-install-test-programs" ]
-    ++ stdenv.lib.optionals (stdenv.isArm || stdenv.isAarch64)
+    ++ stdenv.lib.optionals (stdenv.isAarch32 || stdenv.isAarch64)
       [ "--enable-tegra-experimental-api" "--enable-etnaviv-experimental-api" ]
-    ++ stdenv.lib.optional stdenv.isDarwin "-C";
-
-  crossAttrs.configureFlags = configureFlags ++ [ "--disable-intel" ];
+    ++ stdenv.lib.optional stdenv.isDarwin "-C"
+    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform) "--disable-intel"
+    ;
 
   meta = {
     homepage = https://dri.freedesktop.org/libdrm/;
diff --git a/pkgs/development/libraries/libdvdcss/default.nix b/pkgs/development/libraries/libdvdcss/default.nix
index 66cb5215a8a9b..f18e0622d0ccd 100644
--- a/pkgs/development/libraries/libdvdcss/default.nix
+++ b/pkgs/development/libraries/libdvdcss/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libdvdcss-${version}";
-  version = "1.4.1";
+  version = "1.4.2";
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin IOKit;
 
   src = fetchurl {
     url = "http://get.videolan.org/libdvdcss/${version}/${name}.tar.bz2";
-    sha256 = "1b7awvyahivglp7qmgx2g5005kc5npv257gw7wxdprjsnx93f1zb";
+    sha256 = "0x957zzpf4w2cp8zlk29prj8i2q6hay3lzdzsyz8y3cwxivyvhkq";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libdvdnav/4.2.1.nix b/pkgs/development/libraries/libdvdnav/4.2.1.nix
index 0d3f8349413c7..18e2689002e80 100644
--- a/pkgs/development/libraries/libdvdnav/4.2.1.nix
+++ b/pkgs/development/libraries/libdvdnav/4.2.1.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "libdvdnav-4.2.1";
-  
+
   src = fetchurl {
     url = http://dvdnav.mplayerhq.hu/releases/libdvdnav-4.2.1.tar.xz;
     sha256 = "7fca272ecc3241b6de41bbbf7ac9a303ba25cb9e0c82aa23901d3104887f2372";
@@ -17,9 +17,6 @@ stdenv.mkDerivation {
     mkdir -p $out
   '';
 
-  # From Handbrake
-  patches = [ ./A08-dvdnav-dup.patch ./P00-mingw-no-examples.patch ];
-
   meta = {
     homepage = http://dvdnav.mplayerhq.hu/;
     description = "A library that implements DVD navigation features such as DVD menus";
diff --git a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch b/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
deleted file mode 100644
index c0991b43555a2..0000000000000
--- a/pkgs/development/libraries/libdvdnav/A08-dvdnav-dup.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-Index: src/dvdnav.c
-===================================================================
---- libdvdnav.orig/src/dvdnav.c	(revision 1168)
-+++ libdvdnav/src/dvdnav.c	(working copy)
-@@ -71,6 +71,67 @@
-   return DVDNAV_STATUS_OK;
- }
- 
-+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src) {
-+  dvdnav_t *this;
-+
-+  (*dest) = NULL;
-+  this = (dvdnav_t*)malloc(sizeof(dvdnav_t));
-+  if(!this)
-+    return DVDNAV_STATUS_ERR;
-+
-+  memcpy(this, src, sizeof(dvdnav_t));
-+  this->file = NULL;
-+
-+  pthread_mutex_init(&this->vm_lock, NULL);
-+
-+  this->vm = vm_new_copy(src->vm);
-+  if(!this->vm) {
-+    printerr("Error initialising the DVD VM.");
-+    pthread_mutex_destroy(&this->vm_lock);
-+    free(this);
-+    return DVDNAV_STATUS_ERR;
-+  }
-+
-+  /* Start the read-ahead cache. */
-+  this->cache = dvdnav_read_cache_new(this);
-+
-+  (*dest) = this;
-+  return DVDNAV_STATUS_OK;
-+}
-+
-+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this) {
-+
-+#ifdef LOG_DEBUG
-+  fprintf(MSG_OUT, "libdvdnav: free_dup:called\n");
-+#endif
-+
-+  if (this->file) {
-+    pthread_mutex_lock(&this->vm_lock);
-+    DVDCloseFile(this->file);
-+#ifdef LOG_DEBUG
-+    fprintf(MSG_OUT, "libdvdnav: close:file closing\n");
-+#endif
-+    this->file = NULL;
-+    pthread_mutex_unlock(&this->vm_lock);
-+  }
-+
-+  /* Free the VM */
-+  if(this->vm)
-+    vm_free_copy(this->vm);
-+
-+  pthread_mutex_destroy(&this->vm_lock);
-+
-+  /* We leave the final freeing of the entire structure to the cache,
-+   * because we don't know, if there are still buffers out in the wild,
-+   * that must return first. */
-+  if(this->cache)
-+    dvdnav_read_cache_free(this->cache);
-+  else
-+    free(this);
-+
-+  return DVDNAV_STATUS_OK;
-+}
-+
- dvdnav_status_t dvdnav_open(dvdnav_t** dest, const char *path) {
-   dvdnav_t *this;
-   struct timeval time;
-Index: src/dvdnav/dvdnav.h
-===================================================================
---- libdvdnav.orig/src/dvdnav/dvdnav.h	(revision 1168)
-+++ libdvdnav/src/dvdnav.h	(working copy)
-@@ -89,6 +89,9 @@
-  */
- dvdnav_status_t dvdnav_open(dvdnav_t **dest, const char *path);
- 
-+dvdnav_status_t dvdnav_dup(dvdnav_t **dest, dvdnav_t *src);
-+dvdnav_status_t dvdnav_free_dup(dvdnav_t *this);
-+
- /*
-  * Closes a dvdnav_t previously opened with dvdnav_open(), freeing any
-  * memory associated with it.
-Index: src/vm/vm.c
-===================================================================
---- libdvdnav.orig/src/vm/vm.c	(revision 1168)
-+++ libdvdnav/src/vm/vm.c	(working copy)
-@@ -96,6 +98,7 @@
- 
- static pgcit_t* get_MENU_PGCIT(vm_t *vm, ifo_handle_t *h, uint16_t lang);
- static pgcit_t* get_PGCIT(vm_t *vm);
-+static void vm_close(vm_t *vm);
- 
- 
- /* Helper functions */
-@@ -262,7 +265,7 @@
- }
- 
- void vm_free_vm(vm_t *vm) {
--  vm_stop(vm);
-+  vm_close(vm);
-   free(vm);
- }
- 
-@@ -289,12 +292,20 @@
- 
- int vm_start(vm_t *vm) {
-   /* Set pgc to FP (First Play) pgc */
-+  if (vm->stopped) {
-+    vm_reset(vm, NULL);
-+    vm->stopped = 0;
-+  }
-   set_FP_PGC(vm);
-   process_command(vm, play_PGC(vm));
-   return !vm->stopped;
- }
- 
- void vm_stop(vm_t *vm) {
-+  vm->stopped = 1;
-+}
-+
-+static void vm_close(vm_t *vm) {
-   if(vm->vmgi) {
-     ifoClose(vm->vmgi);
-     vm->vmgi=NULL;
-@@ -346,7 +357,7 @@
- 
-   if (vm->dvd && dvdroot) {
-     /* a new dvd device has been requested */
--    vm_stop(vm);
-+    vm_close(vm);
-   }
-   if (!vm->dvd) {
-     vm->dvd = DVDOpen(dvdroot);
diff --git a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch b/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
deleted file mode 100644
index 0e06186173597..0000000000000
--- a/pkgs/development/libraries/libdvdnav/P00-mingw-no-examples.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur libdvdnav.orig/Makefile.am libdvdnav/Makefile.am
---- libdvdnav.orig/Makefile.am	2008-10-03 16:11:46.000000000 -0400
-+++ libdvdnav/Makefile.am	2009-04-24 02:53:15.000000000 -0400
-@@ -1,7 +1,7 @@
- include $(top_srcdir)/misc/Makefile.common
- 
- 
--SUBDIRS = src examples doc misc m4
-+SUBDIRS = src doc misc m4
- 
- EXTRA_DIST = autogen.sh \
- 	     AUTHORS \
-diff -Naur libdvdnav.orig/configure.ac libdvdnav/configure.ac
---- libdvdnav.orig/configure.ac	2009-01-08 17:57:11.000000000 -0500
-+++ libdvdnav/configure.ac	2009-04-24 02:52:34.000000000 -0400
-@@ -252,5 +252,4 @@
- misc/relchk.sh
- m4/Makefile
- doc/Makefile
--examples/Makefile
- ])
diff --git a/pkgs/development/libraries/libdvdnav/default.nix b/pkgs/development/libraries/libdvdnav/default.nix
index 42321b2f866a9..b0dfd1e8fc12c 100644
--- a/pkgs/development/libraries/libdvdnav/default.nix
+++ b/pkgs/development/libraries/libdvdnav/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     description = "A library that implements DVD navigation features such as DVD menus";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.wmertens ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 
   passthru = { inherit libdvdread; };
diff --git a/pkgs/development/libraries/libdwarf/default.nix b/pkgs/development/libraries/libdwarf/default.nix
index 6057dae4be2e5..649541e22627e 100644
--- a/pkgs/development/libraries/libdwarf/default.nix
+++ b/pkgs/development/libraries/libdwarf/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, libelf }:
 
 let
-  version = "20180129";
+  version = "20180809";
   src = fetchurl {
-    url = "http://www.prevanders.net/libdwarf-${version}.tar.gz";
+    url = "https://www.prevanders.net/libdwarf-${version}.tar.gz";
     # Upstream displays this hash broken into three parts:
     sha512 = "02f8024bb9959c91a1fe322459f7587a589d096595"
            + "6d643921a173e6f9e0a184db7aef66f0fd2548d669"
@@ -12,6 +12,7 @@ let
   meta = {
     homepage = https://www.prevanders.net/dwarf.html;
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 
 in rec {
diff --git a/pkgs/development/libraries/libe-book/default.nix b/pkgs/development/libraries/libe-book/default.nix
index 3c900f86917eb..6c52f2c0b1a64 100644
--- a/pkgs/development/libraries/libe-book/default.nix
+++ b/pkgs/development/libraries/libe-book/default.nix
@@ -1,21 +1,21 @@
 { stdenv, fetchurl, gperf, pkgconfig, librevenge, libxml2, boost, icu
-, cppunit, zlib
+, cppunit, zlib, liblangtag
 }:
 
 let
   s = # Generated upstream information
   rec {
     baseName="libe-book";
-    version="0.1.2";
+    version="0.1.3";
     name="${baseName}-${version}";
-    hash="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
-    url="mirror://sourceforge/project/libebook/libe-book-0.1.2/libe-book-0.1.2.tar.xz";
-    sha256="1v48pd32r2pfysr3a3igc4ivcf6vvb26jq4pdkcnq75p70alp2bz";
+    hash="1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by";
+    url="https://kent.dl.sourceforge.net/project/libebook/libe-book-0.1.3/libe-book-0.1.3.tar.xz";
+    sha256="1yg1vws1wggzhjw672bpgh2x541g5i9wryf67g51m0r79zrqz3by";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gperf librevenge libxml2 boost icu cppunit zlib
+    gperf librevenge libxml2 boost icu cppunit zlib liblangtag
   ];
 
   # Boost 1.59 compatability fix
diff --git a/pkgs/development/libraries/libeatmydata/default.nix b/pkgs/development/libraries/libeatmydata/default.nix
index 5f422f7018b83..5127231dab60d 100644
--- a/pkgs/development/libraries/libeatmydata/default.nix
+++ b/pkgs/development/libraries/libeatmydata/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libeatmydata-105";
   
   src = fetchurl {
-    url = "http://www.flamingspork.com/projects/libeatmydata/${name}.tar.gz";
+    url = "https://www.flamingspork.com/projects/libeatmydata/${name}.tar.gz";
     sha256 = "1pd8sc73cgc41ldsvq6g8ics1m5k8gdcb91as9yg8z5jnrld1lmx";
   };
 
diff --git a/pkgs/development/libraries/libebml/default.nix b/pkgs/development/libraries/libebml/default.nix
index 4b233301cce79..59651af2b8cfc 100644
--- a/pkgs/development/libraries/libebml/default.nix
+++ b/pkgs/development/libraries/libebml/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "libebml-1.3.5";
+  name = "libebml-${version}";
+  version = "1.3.6";
 
-  src = fetchurl {
-    url = "http://dl.matroska.org/downloads/libebml/${name}.tar.xz";
-    sha256 = "005a0ipqnfbsq47zrc61zszi439jw32q5xd6dc1jyb3lc0zl266q";
+  src = fetchFromGitHub {
+    owner  = "Matroska-Org";
+    repo   = "libebml";
+    rev    = "release-${version}";
+    sha256 = "0fl8d35ywj9id93yp78qlxy7j81kjri957agq40r420kmwac3dzs";
   };
 
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=YES"
+  ];
+
   meta = with stdenv.lib; {
     description = "Extensible Binary Meta Language library";
-    license = licenses.lgpl21;
     homepage = https://dl.matroska.org/downloads/libebml/;
-    maintainers = [ maintainers.spwhitt ];
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ spwhitt ];
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index bd230c61028f1..c68e171084b93 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, ncurses, groff }:
+{ stdenv, fetchurl, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "libedit-20160903-3.1";
+  name = "libedit-20180525-3.1";
 
   src = fetchurl {
-    url = "http://thrysoee.dk/editline/${name}.tar.gz";
-    sha256 = "0rvmm8z6hal5bbp5pljp7yvkpqi4pkas1amizhvg35v0skkx5jqc";
+    url = "https://thrysoee.dk/editline/${name}.tar.gz";
+    sha256 = "05iicng4kag5hxdc7adbyj1gm3qbmvcc33m9cyx5gys0s67yl6y4";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libee/default.nix b/pkgs/development/libraries/libee/default.nix
index 7eb5df4c7ecbc..7255b3fece425 100644
--- a/pkgs/development/libraries/libee/default.nix
+++ b/pkgs/development/libraries/libee/default.nix
@@ -14,5 +14,6 @@ stdenv.mkDerivation {
     homepage = http://www.libee.org/;
     description = "An Event Expression Library inspired by CEE";
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.lgpl21Plus;
   };
 }
diff --git a/pkgs/development/libraries/libesmtp/default.nix b/pkgs/development/libraries/libesmtp/default.nix
new file mode 100644
index 0000000000000..980cee2e68799
--- /dev/null
+++ b/pkgs/development/libraries/libesmtp/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libESMTP-${version}";
+  version = "1.0.6";
+
+  src = fetchurl {
+    url = "http://brianstafford.info/libesmtp/libesmtp-1.0.6.tar.bz2";
+    sha256 = "02zbniyz7qys1jmx3ghx21kxmns1wc3hmv80gp7ag7yra9f1m9nh";
+  };
+
+  meta = with stdenv.lib; {
+    homepage = http://brianstafford.info/libesmtp/index.html;
+    description = "A Library for Posting Electronic Mail";
+    license = licenses.lgpl21;
+  };
+}
+
diff --git a/pkgs/development/libraries/libetpan/default.nix b/pkgs/development/libraries/libetpan/default.nix
index 0636336194319..b09c2dd0f47ea 100644
--- a/pkgs/development/libraries/libetpan/default.nix
+++ b/pkgs/development/libraries/libetpan/default.nix
@@ -1,6 +1,6 @@
 { autoconf, automake, fetchgit, libtool, stdenv, openssl }:
 
-let version = "1.6"; in
+let version = "1.8"; in
 
 stdenv.mkDerivation {
   name = "libetpan-${version}";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
   src = fetchgit {
     url = "git://github.com/dinhviethoa/libetpan";
     rev = "refs/tags/" + version;
-    sha256 = "13hv49271rr9yj7ifxqqmc0jfy1f26llivhp22s5wigick7qjxky";
+    sha256 = "09xqy1n18qn63x7idfrpwm59lfkvb1p5vxkyksywvy4f6mn4pyxk";
   };
 
   buildInputs = [ autoconf automake libtool openssl ];
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index 5bcb9a1ede229..2ef1d3965ce9a 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.5.8";
+  name = "libevdev-1.5.9";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "0vac7n1miqdprikq4g63vsk681q8v416r0nbh2xai7b08qgdi0v0";
+    sha256 = "0xca343ff12wh6nsq76r0nbsfrm8dypjrzm4fqz9vv9v8i8kfrp1";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index e14f4cbf5d633..d1b4e06dbc18e 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, findutils
+{ stdenv, fetchurl, fetchpatch, findutils, fixDarwinDylibNames
 , sslSupport? true, openssl
 }:
 
@@ -13,6 +13,18 @@ stdenv.mkDerivation rec {
     sha256 = "1hhxnxlr0fsdv7bdmzsnhdz16fxf3jg2r6vyljcl3kj6pflcap4n";
   };
 
+  #NOTE: Patches to support libressl-2.7. These are taken from libevent upstream, and can both be dropped with the next release.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/libevent/libevent/commit/22dd14945c25600de3cf8b91000c66703b551e4f.patch";
+      sha256 = "0fzcb241cp9mm7j6baw22blcglbc083ryigzyjaij8r530av10kd";
+    })
+    (fetchpatch {
+      url = "https://github.com/libevent/libevent/commit/28b8075400c70b2d2da2ce07e590c2ec6d11783d.patch";
+      sha256 = "0dkzlk44033xksg2iq5w90r3lnziwl1mgz291nzqq906zrya0sdb";
+    })
+  ];
+
   # libevent_openssl is moved into its own output, so that openssl isn't present
   # in the default closure.
   outputs = [ "out" "dev" ]
@@ -26,8 +38,11 @@ stdenv.mkDerivation rec {
   buildInputs = []
     ++ stdenv.lib.optional sslSupport openssl
     ++ stdenv.lib.optional stdenv.isCygwin findutils
+    ++ stdenv.lib.optional stdenv.isDarwin fixDarwinDylibNames
     ;
 
+  doCheck = false; # needs the net
+
   postInstall = stdenv.lib.optionalString sslSupport ''
     moveToOutput "lib/libevent_openssl*" "$openssl"
     substituteInPlace "$dev/lib/pkgconfig/libevent_openssl.pc" \
@@ -35,6 +50,8 @@ stdenv.mkDerivation rec {
     sed "/^libdir=/s|$out|$openssl|" -i "$openssl"/lib/libevent_openssl.la
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Event notification library";
     longDescription = ''
diff --git a/pkgs/development/libraries/libewf/default.nix b/pkgs/development/libraries/libewf/default.nix
index b1a6238a37801..d150d4a003309 100644
--- a/pkgs/development/libraries/libewf/default.nix
+++ b/pkgs/development/libraries/libewf/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, zlib, openssl, libuuid, file, fuse, autoreconfHook, pkgconfig }:
+{ fetchurl, stdenv, zlib, openssl, libuuid, pkgconfig }:
 
 stdenv.mkDerivation rec {
   version = "20171104";
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index 81caa3e91acc7..e3f3604f94e3d 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -7,11 +7,11 @@ assert gtkSupport -> glib != null && gtk3 != null;
 assert videoSupport -> ffmpeg != null && libmpeg2 != null;
 
 stdenv.mkDerivation rec {
-  name = "libextractor-1.6";
+  name = "libextractor-1.7";
 
   src = fetchurl {
     url = "mirror://gnu/libextractor/${name}.tar.gz";
-    sha256 = "17gnpgspdhfgcr27j8sn9105vb4lw22yqdrhic62l79q5v5avm16";
+    sha256 = "13wf6vj7mkv6gw8h183cnk7m24ir0gyf198pyb2148ng4klgv9p0";
   };
 
   preConfigure =
@@ -27,10 +27,12 @@ stdenv.mkDerivation rec {
    ] ++ stdenv.lib.optionals gtkSupport [ glib gtk3 ]
      ++ stdenv.lib.optionals videoSupport [ ffmpeg libmpeg2 ];
 
-  configureFlags = "--disable-ltdl-install "
-    + "--with-ltdl-include=${libtool}/include "
-    + "--with-ltdl-lib=${libtool.lib}/lib "
-    + "--enable-xpdf";
+  configureFlags = [
+    "--disable-ltdl-install"
+    "--with-ltdl-include=${libtool}/include"
+    "--with-ltdl-lib=${libtool.lib}/lib"
+    "--enable-xpdf"
+  ];
 
   # Checks need to be run after "make install", otherwise plug-ins are not in
   # the search path, etc.
diff --git a/pkgs/development/libraries/libexttextcat/default.nix b/pkgs/development/libraries/libexttextcat/default.nix
index 0ba703585bbba..8d264c929a5bc 100644
--- a/pkgs/development/libraries/libexttextcat/default.nix
+++ b/pkgs/development/libraries/libexttextcat/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libexttextcat-3.4.5";
 
   src = fetchurl {
-    url = "http://dev-www.libreoffice.org/src/libexttextcat/${name}.tar.xz";
+    url = "https://dev-www.libreoffice.org/src/libexttextcat/${name}.tar.xz";
     sha256 = "1j6sjwkyhqvsgyw938bxxfwkzzi1mahk66g5342lv6j89jfvrz8k";
   };
 
diff --git a/pkgs/development/libraries/libfakekey/default.nix b/pkgs/development/libraries/libfakekey/default.nix
index 6aca1d2be6d64..fa04655341d4e 100644
--- a/pkgs/development/libraries/libfakekey/default.nix
+++ b/pkgs/development/libraries/libfakekey/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.1";
 
   src = fetchurl {
-    url = "http://downloads.yoctoproject.org/releases/matchbox/libfakekey/0.1/${name}.tar.gz";
+    url = "https://downloads.yoctoproject.org/releases/matchbox/libfakekey/0.1/${name}.tar.gz";
     sha256 = "10msplyn535hmzbmbdnx4zc20hkaw6d81if5lzxs82k8sq2mkx9k";
   };
 
diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix
index cedd5f98027af..cc9db8f7e661e 100644
--- a/pkgs/development/libraries/libfaketime/default.nix
+++ b/pkgs/development/libraries/libfaketime/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, bash, perl }:
 
 stdenv.mkDerivation rec {
   name = "libfaketime-${version}";
@@ -13,10 +13,20 @@ stdenv.mkDerivation rec {
     ./no-date-in-gzip-man-page.patch
   ];
 
+  postPatch = ''
+    patchShebangs test src
+    for a in test/functests/test_exclude_mono.sh src/faketime.c ; do
+      substituteInPlace $a \
+        --replace /bin/bash ${stdenv.shell}
+    done
+  '';
+
   preBuild = ''
     makeFlagsArray+=(PREFIX="$out" LIBDIRNAME=/lib)
   '';
 
+  checkInputs = [ perl ];
+
   meta = with stdenv.lib; {
     description = "Report faked system time to programs without having to change the system-wide time";
     homepage = "https://github.com/wolfcw/libfaketime/";
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 50cf8526c3627..6f1aeefa6758f 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -1,5 +1,9 @@
-{ stdenv, fetchurl, fetchpatch,  dejagnu, doCheck ? false
+{ stdenv, fetchurl, fetchpatch
 , buildPlatform, hostPlatform, autoreconfHook
+
+# libffi is used in darwin stdenv
+# we cannot run checks within it
+, doCheck ? !stdenv.isDarwin, dejagnu
 }:
 
 stdenv.mkDerivation rec {
@@ -40,8 +44,6 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "man" "info" ];
 
-  buildInputs = stdenv.lib.optional doCheck dejagnu;
-
   nativeBuildInputs = stdenv.lib.optional hostPlatform.isRiscV autoreconfHook;
 
   configureFlags = [
@@ -49,6 +51,13 @@ stdenv.mkDerivation rec {
     "--enable-pax_emutramp"
   ];
 
+  preCheck = ''
+    # The tests use -O0 which is not compatible with -D_FORTIFY_SOURCE.
+    NIX_HARDENING_ENABLE=''${NIX_HARDENING_ENABLE/fortify/}
+  '';
+
+  checkInputs = [ dejagnu ];
+
   inherit doCheck;
 
   dontStrip = hostPlatform != buildPlatform; # Don't run the native `strip' when cross-compiling.
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 3b27ffc6d386e..367f1c9aadd3e 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libfilezilla-${version}";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchurl {
     url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
-    sha256 = "1gbqm42dd0m3fvqz3bk53889479dvn8679zp6ba8a9q2br2wkvv0";
+    sha256 = "0sk8kz2zrvf7kp9jrp3l4rpipv4xh0hg8d4h734xyag7vd03rjpz";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libfive/default.nix b/pkgs/development/libraries/libfive/default.nix
new file mode 100644
index 0000000000000..2c3085fc384fb
--- /dev/null
+++ b/pkgs/development/libraries/libfive/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, eigen3_3,
+zlib, libpng, boost, qt5, guile
+}:
+
+stdenv.mkDerivation rec {
+  name = "libfive-${version}";
+  version = "2018-07-01";
+
+  src = fetchFromGitHub {
+    owner  = "libfive";
+    repo   = "libfive";
+    rev    = "0f517dde9521d751310a22f85ee69b2c84690267";
+    sha256 = "0bfxysf5f4ripgcv546il8wnw5p0d4s75kdjlwvj32549537hlz0";
+  };
+  nativeBuildInputs = [ cmake ninja pkgconfig ];
+  buildInputs = [ eigen3_3 zlib libpng boost qt5.qtimageformats guile ];
+
+  # Link "Studio" binary to "libfive-studio" to be more obvious:
+  postFixup = ''
+    ln -s "$out/bin/Studio" "$out/bin/libfive-studio"
+  '';
+  
+  meta = with stdenv.lib; {
+    description = "Infrastructure for solid modeling with F-Reps in C, C++, and Guile";
+    homepage = https://libfive.com/;
+    maintainers = with maintainers; [ hodapp ];
+    license = licenses.lgpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index 851ee7f326b61..796c03dab5ee8 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, intltool, menu-cache, pango, pkgconfig, vala_0_34
+{ stdenv, fetchurl, glib, intltool, menu-cache, pango, pkgconfig, vala
 , extraOnly ? false
 , withGtk3 ? false, gtk2, gtk3 }:
 let
@@ -9,19 +9,18 @@ stdenv.mkDerivation rec {
   name = if extraOnly
     then "libfm-extra-${version}"
     else "libfm-${version}";
-  version = "1.2.5";
+  version = "1.3.0.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/pcmanfm/libfm-${version}.tar.xz";
-    sha256 = "0nlvfwh09gbq8bkbvwnw6iqr918rrs9gc9ljb9pjspyg408bn1n7";
+    sha256 = "0wkwbi1nyvqza3r1dhrq846axiiq0fy0dqgngnagh76fjrwnzl0q";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gtk intltool pango vala_0_34 ]
-                ++ optional (!extraOnly) menu-cache;
+  nativeBuildInputs = [ vala pkgconfig intltool ];
+  buildInputs = [ glib gtk pango ] ++ optional (!extraOnly) menu-cache;
 
-  configureFlags = [ (optional extraOnly "--with-extra-only")
-                     (optional withGtk3 "--with-gtk=3") ];
+  configureFlags = optional extraOnly "--with-extra-only"
+    ++ optional withGtk3 "--with-gtk=3";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libftdi/1.x.nix b/pkgs/development/libraries/libftdi/1.x.nix
index d54b05b1c828e..b59bf9a06ac5f 100644
--- a/pkgs/development/libraries/libftdi/1.x.nix
+++ b/pkgs/development/libraries/libftdi/1.x.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   name = "libftdi1-1.4";
 
   src = fetchurl {
-    url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
+    url = "https://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
     sha256 = "0x0vncf6i92slgrn0h7ghkskqbglbs534220qa84d0qg114zndpc";
   };
 
@@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
     ++ optionals pythonSupport [ python swig ]
     ++ optionals docSupport [ doxygen ];
 
+  preBuild = stdenv.lib.optionalString docSupport ''
+    make doc_i
+  '';
+
   propagatedBuildInputs = [ libusb1 ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/libftdi/default.nix b/pkgs/development/libraries/libftdi/default.nix
index f90e741a57e9b..74b87a46ef0a8 100644
--- a/pkgs/development/libraries/libftdi/default.nix
+++ b/pkgs/development/libraries/libftdi/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libftdi-0.20";
 
   src = fetchurl {
-    url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.gz";
+    url = "https://www.intra2net.com/en/developer/libftdi/download/${name}.tar.gz";
     sha256 = "13l39f6k6gff30hsgh0wa2z422g9pyl91rh8a8zz6f34k2sxaxii";
   };
 
diff --git a/pkgs/development/libraries/libgap/default.nix b/pkgs/development/libraries/libgap/default.nix
index dec9676d5729f..42e812ec1f532 100644
--- a/pkgs/development/libraries/libgap/default.nix
+++ b/pkgs/development/libraries/libgap/default.nix
@@ -1,10 +1,17 @@
-{stdenv, fetchurl, gmp}:
+{ stdenv
+, fetchurl
+, gmp
+}:
+# will probably be obsolte (or at leat built from the upstream gap sources) soon (gap 4.9?). See
+# - https://github.com/gap-system/gap/projects/5#card-6239828
+# - https://github.com/markuspf/gap/issues/2
+# - https://trac.sagemath.org/ticket/22626
 stdenv.mkDerivation rec {
   name = "libgap-${version}";
+  # Has to be the same version as "gap"
   version = "4.8.6";
-  # or fetchFromGitHub(owner,repo,rev) or fetchgit(rev)
   src = fetchurl {
-    url = "http://mirrors.mit.edu/sage/spkg/upstream/libgap/libgap-${version}.tar.gz";
+    url = "mirror://sageupstream/libgap/libgap-${version}.tar.gz";
     sha256 = "1h5fx5a55857w583ql7ly2jl49qyx9mvs7j5abys00ra9gzrpn5v";
   };
   buildInputs = [gmp];
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 6f36199bd1a57..d8708114c8e66 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -6,11 +6,11 @@ assert enableCapabilities -> stdenv.isLinux;
 
 stdenv.mkDerivation rec {
   name = "libgcrypt-${version}";
-  version = "1.8.2";
+  version = "1.8.3";
 
   src = fetchurl {
     url = "mirror://gnupg/libgcrypt/${name}.tar.bz2";
-    sha256 = "01sca9m8hm6b5v8hmqsfdjhyz013869p1f0fxw9ln52qfnp4q1n8";
+    sha256 = "0z5gs1khzyknyfjr19k8gk4q148s6q987ya85cpn0iv70fz91v36";
   };
 
   outputs = [ "out" "dev" "info" ];
@@ -21,13 +21,16 @@ stdenv.mkDerivation rec {
   # The build enables -O2 by default for everything else.
   hardeningDisable = stdenv.lib.optional stdenv.cc.isClang "fortify";
 
+  # Accepted upstream, should be in next update: #42150, https://dev.gnupg.org/T4034
+  patches = [ ./fix-jent-locking.patch ];
+
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
   buildInputs = [ libgpgerror ]
     ++ stdenv.lib.optional stdenv.isDarwin gettext
     ++ stdenv.lib.optional enableCapabilities libcap;
 
-  preConfigure = stdenv.lib.optionalString stdenv.isCross ''
+  preConfigure = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
     # This is intentional: gpg-error-config is a shell script that will work during the build
     mkdir -p "$NIX_BUILD_TOP"/bin
     ln -s ${libgpgerror.dev}/bin/gpg-error-config "$NIX_BUILD_TOP/bin"
diff --git a/pkgs/development/libraries/libgcrypt/fix-jent-locking.patch b/pkgs/development/libraries/libgcrypt/fix-jent-locking.patch
new file mode 100644
index 0000000000000..5394e51468e65
--- /dev/null
+++ b/pkgs/development/libraries/libgcrypt/fix-jent-locking.patch
@@ -0,0 +1,29 @@
+From bbe989be6ca5e093d5244413590bd80e12c2ec9b Mon Sep 17 00:00:00 2001
+From: Will Dietz <w@wdtz.org>
+Date: Sun, 17 Jun 2018 18:53:58 -0500
+Subject: [PATCH] rndjent: move locking to fix trying to obtain held lock,
+ hanging
+
+---
+ random/rndjent.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/random/rndjent.c b/random/rndjent.c
+index 0c5a820b..3740ddd4 100644
+--- a/random/rndjent.c
++++ b/random/rndjent.c
+@@ -334,9 +334,10 @@ _gcry_rndjent_get_version (int *r_active)
+     {
+       if (r_active)
+         {
+-          lock_rng ();
+           /* Make sure the RNG is initialized.  */
+           _gcry_rndjent_poll (NULL, 0, 0);
++
++          lock_rng ();
+           /* To ease debugging we store 2 for a clock_gettime based
+            * implementation and 1 for a rdtsc based code.  */
+           *r_active = jent_rng_collector? is_rng_available () : 0;
+-- 
+2.18.0-rc2
+
diff --git a/pkgs/development/libraries/libgdiplus/default.nix b/pkgs/development/libraries/libgdiplus/default.nix
index f84cc677d16db..5e94d00dcdb7d 100644
--- a/pkgs/development/libraries/libgdiplus/default.nix
+++ b/pkgs/development/libraries/libgdiplus/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, glib, cairo, Carbon, fontconfig
-, libtiff, giflib, libungif, libjpeg, libpng, monoDLLFixer
+, libtiff, giflib, libjpeg, libpng
 , libXrender, libexif }:
 
 stdenv.mkDerivation rec {
   name = "libgdiplus-2.10.9";
 
   src = fetchurl {
-    url = "http://download.mono-project.com/sources/libgdiplus/${name}.tar.bz2";
+    url = "https://download.mono-project.com/sources/libgdiplus/${name}.tar.bz2";
     sha256 = "0klnbly2q0yx5p0l5z8da9lhqsjj9xqj06kdw2v7rnms4z1vdpkd";
   };
 
@@ -22,8 +22,10 @@ stdenv.mkDerivation rec {
 
   patchFlags = "-p0";
 
+  hardeningDisable = [ "format" ];
+
   buildInputs =
-    [ pkgconfig glib cairo fontconfig libtiff giflib libungif
+    [ pkgconfig glib cairo fontconfig libtiff giflib
       libjpeg libpng libXrender libexif
     ]
     ++ stdenv.lib.optional stdenv.isDarwin Carbon;
diff --git a/pkgs/development/libraries/libgeotiff/default.nix b/pkgs/development/libraries/libgeotiff/default.nix
index 3d49fa064509e..48a1490caecfa 100644
--- a/pkgs/development/libraries/libgeotiff/default.nix
+++ b/pkgs/development/libraries/libgeotiff/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "libgeotiff-${version}";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/geotiff/libgeotiff/${name}.tar.gz";
+    url = "https://download.osgeo.org/geotiff/libgeotiff/${name}.tar.gz";
     sha256 = "0vjy3bwfhljjx66p9w999i4mdhsf7vjshx29yc3pn5livf5091xd";
   };
 
diff --git a/pkgs/development/libraries/libgig/default.nix b/pkgs/development/libraries/libgig/default.nix
index 90d41e30502f2..08fce9c521ec9 100644
--- a/pkgs/development/libraries/libgig/default.nix
+++ b/pkgs/development/libraries/libgig/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "4.1.0";
 
   src = fetchurl {
-    url = "http://download.linuxsampler.org/packages/${name}.tar.bz2";
+    url = "https://download.linuxsampler.org/packages/${name}.tar.bz2";
     sha256 = "02xx6bqxzgkvrawwnzrnxx1ypk244q4kpwfd58266f9ji8kq18h6";
   };
 
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
index 652848d8a955c..29f346e9acfbb 100644
--- a/pkgs/development/libraries/libgksu/default.nix
+++ b/pkgs/development/libraries/libgksu/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk2, gnome2, gnome3,
   libstartup_notification, libgtop, perl, perlXMLParser,
-  autoreconfHook, intltool, docbook_xsl, xauth, sudo
+  autoreconfHook, intltool, docbook_xsl, xauth
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/libglvnd/default.nix b/pkgs/development/libraries/libglvnd/default.nix
index 7ea1ecdd0522e..27c1cb0e390a4 100644
--- a/pkgs/development/libraries/libglvnd/default.nix
+++ b/pkgs/development/libraries/libglvnd/default.nix
@@ -1,31 +1,52 @@
-{stdenv, fetchFromGitHub, autoreconfHook, python2, pkgconfig, libGL_driver, libX11, libXext, glproto }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, autoreconfHook, python2, pkgconfig, libX11, libXext, glproto }:
 
-# Git version is needed for EGL and GLES handling.
-
-stdenv.mkDerivation rec {
-  name = "libglvnd-2016-12-22";
+let
+  driverLink = "/run/opengl-driver" + lib.optionalString stdenv.isi686 "-32";
+in stdenv.mkDerivation rec {
+  name = "libglvnd-${version}";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "NVIDIA";
     repo = "libglvnd";
-    rev = "dc16f8c337703ad141f83583a4004fcf42e07766";
-    sha256 = "1dbwf1216np77xf1kx3ci3y7hfa1p4vgrrzg71gw36hqxf36vg5f";
+    rev = "v${version}";
+    sha256 = "1a126lzhd2f04zr3rvdl6814lfl0j077spi5dsf2alghgykn5iif";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig python2 ];
   buildInputs = [ libX11 libXext glproto ];
 
+  postPatch = lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/GLX/Makefile.am \
+      --replace "-Wl,-Bsymbolic " ""
+    substituteInPlace src/EGL/Makefile.am \
+      --replace "-Wl,-Bsymbolic " ""
+  '';
+
   NIX_CFLAGS_COMPILE = [
     "-UDEFAULT_EGL_VENDOR_CONFIG_DIRS"
-    "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${libGL_driver.driverLink}/share/glvnd/egl_vendor.d\""
-  ];
+    # FHS paths are added so that non-NixOS applications can find vendor files.
+    "-DDEFAULT_EGL_VENDOR_CONFIG_DIRS=\"${driverLink}/share/glvnd/egl_vendor.d:/etc/glvnd/egl_vendor.d:/usr/share/glvnd/egl_vendor.d\""
+  ] ++ lib.optional stdenv.cc.isClang "-Wno-error";
 
+  # Indirectly: https://bugs.freedesktop.org/show_bug.cgi?id=35268
+  configureFlags  = stdenv.lib.optional stdenv.hostPlatform.isMusl "--disable-tls";
+
+  # Upstream patch fixing use of libdl, should be in next release.
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/NVIDIA/libglvnd/commit/0177ade40262e31a80608a8e8e52d3da7163dccf.patch";
+      sha256 = "1rnz5jw2gvx4i1lcp0k85jz9xgr3dgzsd583m2dlxkaf2a09j89d";
+    })
+  ];
   outputs = [ "out" "dev" ];
 
+  passthru = { inherit driverLink; };
+
   meta = with stdenv.lib; {
     description = "The GL Vendor-Neutral Dispatch library";
     homepage = https://github.com/NVIDIA/libglvnd;
     license = licenses.bsd2;
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index b2a0021d53b56..e7157afbaee53 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig,
+{ stdenv, fetchurl, glib, dbus, libgcrypt, pkgconfig,
 intltool }:
 
 stdenv.mkDerivation {
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
 
   outputs = [ "out" "dev" ];
 
-  propagatedBuildInputs = [ glib dbus_libs libgcrypt ];
+  propagatedBuildInputs = [ glib dbus libgcrypt ];
   nativeBuildInputs = [ pkgconfig intltool ];
 
   meta = {
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 5c5824a9930ca..ccac20c907743 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, buildPackages, fetchurl, gettext
-, hostPlatform, genPosixLockObjOnly ? false
+{ stdenv, lib, fetchpatch, buildPackages, fetchurl, gettext
+, genPosixLockObjOnly ? false
 }: let
-  genPosixLockObjOnlyAttrs = stdenv.lib.optionalAttrs genPosixLockObjOnly {
+  genPosixLockObjOnlyAttrs = lib.optionalAttrs genPosixLockObjOnly {
     buildPhase = ''
       cd src
       make gen-posix-lock-obj
@@ -17,18 +17,26 @@
   };
 in stdenv.mkDerivation (rec {
   name = "libgpg-error-${version}";
-  version = "1.27";
+  version = "1.28";
 
   src = fetchurl {
     url = "mirror://gnupg/libgpg-error/${name}.tar.bz2";
-    sha256 = "1li95ni122fzinzlmxbln63nmgij63irxfvi52ws4zfbzv3am4sg";
+    sha256 = "0jfsfnh9bxlxiwxws60yah4ybjw2hshmvqp31pri4m4h8ivrbnry";
   };
 
-  patches = if hostPlatform.isRiscV then ./riscv.patch else null;
+  patches = [
+    # Fix builds on ARM, AArch64
+    (fetchpatch {
+      url = "https://github.com/gpg/libgpg-error/commit/791177de023574223eddf7288eb7c5a0721ac623.patch";
+      sha256 = "0vqfw0ak1j37wf6sk9y9vmdyk3kxdxkldhs0bv2waa76s11cmdx0";
+    })
+  ];
 
   postPatch = ''
     sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure
-  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+  '' + lib.optionalString (stdenv.hostPlatform.isArm && stdenv.buildPlatform != stdenv.hostPlatform ) ''
+    ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabihf.h
+  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
   '';
 
@@ -41,7 +49,7 @@ in stdenv.mkDerivation (rec {
   nativeBuildInputs = [ gettext ];
 
   postConfigure =
-    stdenv.lib.optionalString stdenv.isSunOS
+    lib.optionalString stdenv.isSunOS
     # For some reason, /bin/sh on OpenIndiana leads to this at the end of the
     # `config.status' run:
     #   ./config.status[1401]: shift: (null): bad number
diff --git a/pkgs/development/libraries/libgpg-error/riscv.patch b/pkgs/development/libraries/libgpg-error/riscv.patch
deleted file mode 100644
index afc3b9993a439..0000000000000
--- a/pkgs/development/libraries/libgpg-error/riscv.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-commit b3e9ec5626d474c58e683a41d09576297d4acd3d
-Author: Shea Levy <shea@shealevy.com>
-Date:   Sat Feb 24 21:12:44 2018 -0500
-
-    syscfg: Add lock-obj-pub file for riscv64-unknown-linux-gnu.
-    
-    * src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h: new.
-    * src/Makefile.am (lock_obj_pub): Add it.
-    
-    Signed-off-by: Shea Levy <shea@shealevy.com>
-
-diff --git a/src/Makefile.am b/src/Makefile.am
-index 4446612..5a8cc43 100644
---- a/src/Makefile.in
-+++ b/src/Makefile.in
-@@ -65,6 +65,7 @@ lock_obj_pub = \
-         syscfg/lock-obj-pub.powerpc64-unknown-linux-gnu.h   \
- 	syscfg/lock-obj-pub.powerpc64le-unknown-linux-gnu.h \
- 	syscfg/lock-obj-pub.powerpc-unknown-linux-gnuspe.h  \
-+        syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h     \
-         syscfg/lock-obj-pub.s390x-ibm-linux-gnu.h           \
-         syscfg/lock-obj-pub.sh3-unknown-linux-gnu.h         \
-         syscfg/lock-obj-pub.sh4-unknown-linux-gnu.h         \
-diff --git a/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h b/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
-new file mode 100644
-index 0000000..8aab9d6
---- /dev/null
-+++ b/src/syscfg/lock-obj-pub.riscv64-unknown-linux-gnu.h
-@@ -0,0 +1,25 @@
-+## lock-obj-pub.riscv64-unknown-linux-gnu.h
-+## File created by gen-posix-lock-obj - DO NOT EDIT
-+## To be included by mkheader into gpg-error.h
-+
-+typedef struct
-+{
-+  long _vers;
-+  union {
-+    volatile char _priv[40];
-+    long _x_align;
-+    long *_xp_align;
-+  } u;
-+} gpgrt_lock_t;
-+
-+#define GPGRT_LOCK_INITIALIZER {1,{{0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0, \
-+                                    0,0,0,0,0,0,0,0}}}
-+##
-+## Local Variables:
-+## mode: c
-+## buffer-read-only: t
-+## End:
-+##
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 9c0ea4a3a73e0..8616a0146755a 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchpatch, fetchFromGitHub, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext, autoreconfHook }:
+{ stdenv, fetchFromGitHub, pkgconfig, libusb1, libtool, libexif, libjpeg, gettext, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "libgphoto2-${meta.version}";
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     owner = "gphoto";
     repo = "libgphoto2";
     rev = "${meta.tag}";
-    sha256 = "1svbpmxqm56pqkv0rxhlyk4vw7mjgjz8zz4p669qvmw630082yj9";
+    sha256 = "0pbfg89817qkb35mmajsw2iz6j9nhkkj67m419f8x8yxpqkaa0wb";
   };
 
   patches = [];
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
       MTP, and other vendor specific protocols for controlling and transferring data
       from digital cameras.
     '';
-    version = "2.5.16";
-    tag = "libgphoto2-2_5_16-release";
+    version = "2.5.17";
+    tag = "libgphoto2-2_5_17-release";
     # XXX: the homepage claims LGPL, but several src files are lgpl21Plus
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index 60400712e30e9..74aee0f39c7ec 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,5 +1,5 @@
 {stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
-  libxml2, sqlite, libusb1, zlib, sg3_utils, gdk_pixbuf, taglib,
+  libxml2, sqlite, zlib, sg3_utils, gdk_pixbuf, taglib,
   libimobiledevice, pythonPackages, mutagen,
   monoSupport ? true, mono, gtk-sharp-2_0
 }:
@@ -25,14 +25,14 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
     gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ];
 
-  nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl
-    libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
+  nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl] ++
+   lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
 
   meta = {
     homepage = http://gtkpod.sourceforge.net/;
     description = "Library used by gtkpod to access the contents of an ipod";
     license = "LGPL";
-    platforms = stdenv.lib.platforms.gnu;
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libgrss/default.nix b/pkgs/development/libraries/libgrss/default.nix
new file mode 100644
index 0000000000000..548114b642fa5
--- /dev/null
+++ b/pkgs/development/libraries/libgrss/default.nix
@@ -0,0 +1,39 @@
+{ stdenv, fetchurl, pkgconfig, vala, gobjectIntrospection, gtk-doc, docbook_xsl, docbook_xml_dtd_412, glib, libxml2, libsoup, gnome3 }:
+
+let
+  version = "0.7.0";
+  pname = "libgrss";
+in
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1nalslgyglvhpva3px06fj6lv5zgfg0qmj0sbxyyl5d963vc02b7";
+  };
+
+  nativeBuildInputs = [ pkgconfig vala gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_412 ];
+  buildInputs = [ glib libxml2 libsoup ];
+
+  configureFlags = [
+    "--enable-gtk-doc"
+  ];
+
+  doCheck = true;
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Glib abstaction to handle feeds in RSS, Atom and other formats";
+    homepage = https://wiki.gnome.org/Projects/Libgrss;
+    license = licenses.lgpl3Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libgsf/default.nix b/pkgs/development/libraries/libgsf/default.nix
index 54a17d94a598c..20a08885142a6 100644
--- a/pkgs/development/libraries/libgsf/default.nix
+++ b/pkgs/development/libraries/libgsf/default.nix
@@ -1,7 +1,5 @@
 { fetchurl, stdenv, pkgconfig, intltool, gettext, glib, libxml2, zlib, bzip2
-, python, perl, gdk_pixbuf, libiconv, libintlOrEmpty }:
-
-let inherit (stdenv.lib) optionals; in
+, python, perl, gdk_pixbuf, libiconv, libintl }:
 
 stdenv.mkDerivation rec {
   name = "libgsf-1.14.42";
@@ -11,21 +9,18 @@ stdenv.mkDerivation rec {
     sha256 = "1hhdz0ymda26q6bl5ygickkgrh998lxqq4z9i8dzpcvqna3zpzr9";
   };
 
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool libintl ];
 
-  buildInputs = [ gettext bzip2 zlib python ]
-    ++ stdenv.lib.optional doCheck perl;
+  buildInputs = [ gettext bzip2 zlib python ];
+  checkInputs = [ perl ];
 
-  propagatedBuildInputs = [ libxml2 glib gdk_pixbuf libiconv ]
-    ++ libintlOrEmpty;
+  propagatedBuildInputs = [ libxml2 glib gdk_pixbuf libiconv ];
 
   outputs = [ "out" "dev" ];
 
   doCheck = true;
   preCheck = "patchShebangs ./tests/";
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
   meta = with stdenv.lib; {
     description = "GNOME's Structured File Library";
     homepage    = https://www.gnome.org/projects/libgsf;
diff --git a/pkgs/development/libraries/libgsystem/default.nix b/pkgs/development/libraries/libgsystem/default.nix
deleted file mode 100644
index e29b3ed89dea4..0000000000000
--- a/pkgs/development/libraries/libgsystem/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk-doc, gobjectIntrospection
-, glib, attr, systemd
-}:
-
-stdenv.mkDerivation {
-  name = "libgsystem-2015.1";
-
-  meta = with stdenv.lib; {
-    description = "GIO-based library with Unix/Linux specific API";
-    homepage    = "https://wiki.gnome.org/Projects/LibGSystem";
-    license     = licenses.lgpl2Plus;
-    platforms   = platforms.linux;
-  };
-
-  src = fetchFromGitHub {
-    owner = "GNOME";
-    repo = "libgsystem";
-    rev = "v2015.1";
-    sha256 = "0j5dqn1pnspfxifklw4wkikqlbxr4faib07550n5gi58m89gg68n";
-  };
-
-  nativeBuildInputs = [
-    autoreconfHook pkgconfig gtk-doc gobjectIntrospection
-  ];
-
-  propagatedBuildInputs = [ glib attr systemd ];
-
-  preAutoreconf = ''
-    mkdir m4
-  '';
-}
diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix
index 0a44eee90aa06..d0be9e25b87e7 100644
--- a/pkgs/development/libraries/libgtop/default.nix
+++ b/pkgs/development/libraries/libgtop/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, pkgconfig, perl, gettext, gobjectIntrospection, libintlOrEmpty, gnome3 }:
+{ stdenv, fetchurl, fetchpatch, glib, pkgconfig, perl, gettext, gobjectIntrospection, libtool, gnome3, gtk-doc }:
 let
   pname = "libgtop";
   version = "2.38.0";
@@ -11,11 +11,20 @@ stdenv.mkDerivation rec {
     sha256 = "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g";
   };
 
+  patches = [
+    # Fix darwin build
+    (fetchpatch {
+        url = https://gitlab.gnome.org/GNOME/libgtop/commit/42b049f338363f92c1e93b4549fc944098eae674.patch;
+        sha256 = "0kf9ihgb0wqji6dcvg36s6igkh7b79k6y1n7w7wzsxya84x3hhyn";
+      })
+  ];
+
   propagatedBuildInputs = [ glib ];
-  buildInputs = libintlOrEmpty;
-  nativeBuildInputs = [ pkgconfig perl gettext gobjectIntrospection ];
+  nativeBuildInputs = [ pkgconfig gnome3.gnome-common libtool gtk-doc perl gettext gobjectIntrospection ];
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  preConfigure = ''
+    ./autogen.sh
+  '';
 
   passthru = {
     updateScript = gnome3.updateScript {
@@ -27,6 +36,6 @@ stdenv.mkDerivation rec {
     description = "A library that reads information about processes and the running system";
     license = licenses.gpl2Plus;
     maintainers = gnome3.maintainers;
-    platforms = with platforms; linux ++ darwin;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index 1e1f3eeb4c73e..54760549a1641 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, udev, glib, gnome3 }:
+{ stdenv, fetchurl, pkgconfig, udev, glib, gobjectIntrospection, gnome3 }:
 
 let
   pname = "libgudev";
@@ -6,12 +6,14 @@ in stdenv.mkDerivation rec {
   name = "libgudev-${version}";
   version = "232";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
     sha256 = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
   buildInputs = [ udev glib ];
 
   # There's a dependency cycle with umockdev and the tests fail to LD_PRELOAD anyway.
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index 106de68d367a0..6001946cb9700 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook, makeWrapper
 , ncurses, cpio, gperf, perl, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
 , acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex
-, gmp, readline, file, libintlperl, GetoptLong, SysVirt, numactl, xen, libapparmor
+, gmp, readline, file, libintl_perl, GetoptLong, SysVirt, numactl, xen, libapparmor
 , getopt, perlPackages, ocamlPackages
 , appliance ? null
 , javaSupport ? false, jdk ? null }:
@@ -11,18 +11,18 @@ assert javaSupport -> jdk != null;
 
 stdenv.mkDerivation rec {
   name = "libguestfs-${version}";
-  version = "1.38.0";
+  version = "1.38.4";
 
   src = fetchurl {
     url = "http://libguestfs.org/download/1.38-stable/libguestfs-${version}.tar.gz";
-    sha256 = "0cgapiad3x5ggwm097mq62hng3bv91p5gmrikrb6adfaasr1l6m3";
+    sha256 = "1xsazw6yrbgmc647j8l896fzv534157sqmdzac09rxkxwiy0wm16";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     makeWrapper autoreconfHook ncurses cpio gperf perl
     cdrkit flex bison qemu pcre augeas libxml2 acl libcap libcap_ng libconfig
-    systemd fuse yajl libvirt gmp readline file hivex libintlperl GetoptLong
+    systemd fuse yajl libvirt gmp readline file hivex libintl_perl GetoptLong
     SysVirt numactl xen libapparmor getopt perlPackages.ModuleBuild
   ] ++ (with ocamlPackages; [ ocaml findlib ocamlbuild ocaml_libvirt ocaml_gettext ounit ])
     ++ stdenv.lib.optional javaSupport jdk;
diff --git a/pkgs/development/libraries/libheif/default.nix b/pkgs/development/libraries/libheif/default.nix
new file mode 100644
index 0000000000000..cdc03c01a022b
--- /dev/null
+++ b/pkgs/development/libraries/libheif/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, pruneLibtoolFiles, libde265, x265, libpng, libjpeg }:
+
+stdenv.mkDerivation rec {
+  version = "1.3.2";
+  name = "libheif-${version}";
+
+  src = fetchFromGitHub {
+    owner = "strukturag";
+    repo = "libheif";
+    rev = "v${version}";
+    sha256 = "0hk8mzig2kp5f94j4jwqxzjrm7ffk16ffvxl92rf0afsh6vgnz7w";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig pruneLibtoolFiles ];
+  buildInputs = [ libde265 x265 libpng libjpeg ];
+
+  enableParallelBuilding = true;
+
+  meta = {
+    homepage = "http://www.libheif.org/";
+    description = "ISO/IEC 23008-12:2017 HEIF image file format decoder and encoder";
+    license = stdenv.lib.licenses.lgpl3;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ gebner ];
+  };
+
+}
diff --git a/pkgs/development/libraries/libhttpseverywhere/default.nix b/pkgs/development/libraries/libhttpseverywhere/default.nix
index 6af3f5225d4dd..91e8e2d50f196 100644
--- a/pkgs/development/libraries/libhttpseverywhere/default.nix
+++ b/pkgs/development/libraries/libhttpseverywhere/default.nix
@@ -3,13 +3,13 @@
 
 let
   pname = "libhttpseverywhere";
-  version = "0.8.2";
+  version = "0.8.3";
 in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0vcnimlfcscyvjbh845xbnjb9qc8x0mliaqz2gczxxpakxrbl3gh";
+    sha256 = "1jmn6i4vsm89q1axlq4ajqkzqmlmjaml9xhw3h9jnal46db6y00w";
   };
 
   nativeBuildInputs = [ gnome3.vala gobjectIntrospection meson ninja pkgconfig ];
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Library to use HTTPSEverywhere in desktop applications";
-    homepage = https://git.gnome.org/browse/libhttpseverywhere;
+    homepage = https://gitlab.gnome.org/GNOME/libhttpseverywhere;
     license = licenses.lgpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ sternenseemann ] ++ gnome3.maintainers;
diff --git a/pkgs/development/libraries/libiberty/default.nix b/pkgs/development/libraries/libiberty/default.nix
index 516e6bbbe88c8..bcc85abbd3efc 100644
--- a/pkgs/development/libraries/libiberty/default.nix
+++ b/pkgs/development/libraries/libiberty/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPackages, fetchurl, staticBuild ? false }:
+{ stdenv, buildPackages, staticBuild ? false }:
 
 let inherit (buildPackages.buildPackages) gcc; in
 
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 5ba8bb6678455..718233b0ffa0f 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -1,27 +1,53 @@
-{ stdenv, fetchFromGitHub, perl, cmake }:
+{ stdenv, fetchFromGitHub, perl, pkgconfig, cmake, ninja, vala, gobjectIntrospection
+, python3, tzdata, gtk-doc, docbook_xsl, docbook_xml_dtd_43, glib, libxml2, icu }:
 
 stdenv.mkDerivation rec {
   name = "libical-${version}";
-  version = "2.0.0";
+  version = "3.0.4";
+
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "0xsvqy1hzmwxn783wrb2k8p751544pzv39v9ynr9pj4yzkwjzsvb";
+    sha256 = "1qgpbdjd6jsivw87v5w52268kqp0rv780kli8cgb3ndlv592wlbm";
   };
 
-  nativeBuildInputs = [ perl cmake ];
+  nativeBuildInputs = [
+    perl pkgconfig cmake ninja vala gobjectIntrospection
+    (python3.withPackages (pkgs: with pkgs; [ pygobject3 ])) # running libical-glib tests
+    gtk-doc docbook_xsl docbook_xml_dtd_43 # docs
+  ];
+  buildInputs = [ glib libxml2 icu ];
+
+  cmakeFlags = [
+    "-DGOBJECT_INTROSPECTION=True"
+    "-DICAL_GLIB_VAPI=True"
+  ];
 
   patches = [
     # TODO: upstream this patch
+    # https://github.com/libical/libical/issues/350
     ./respect-env-tzdir.patch
   ];
 
+  # Using install check so we do not have to manually set
+  # LD_LIBRARY_PATH and GI_TYPELIB_PATH variables
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+
+    export TZDIR=${tzdata}/share/zoneinfo
+    ctest --output-on-failure
+
+    runHook postInstallCheck
+  '';
+
   meta = with stdenv.lib; {
     homepage = https://github.com/libical/libical;
     description = "An Open Source implementation of the iCalendar protocols";
-    license = licenses.mpl10;
+    license = licenses.mpl20;
     platforms = platforms.unix;
     maintainers = with maintainers; [ wkennington ];
   };
diff --git a/pkgs/development/libraries/libical/respect-env-tzdir.patch b/pkgs/development/libraries/libical/respect-env-tzdir.patch
index 715ba1fa8426c..59d23e490e5a0 100644
--- a/pkgs/development/libraries/libical/respect-env-tzdir.patch
+++ b/pkgs/development/libraries/libical/respect-env-tzdir.patch
@@ -1,9 +1,9 @@
 --- a/src/libical/icaltz-util.c
 +++ b/src/libical/icaltz-util.c
-@@ -96,9 +96,9 @@ typedef struct
- static char *zdir = NULL;
+@@ -94,9 +94,9 @@
+ static const char *zdir = NULL;
  
- static char *search_paths[] = {
+ static const char *search_paths[] = {
 +    "/etc/zoneinfo",
      "/usr/share/zoneinfo",
      "/usr/lib/zoneinfo",
@@ -11,13 +11,13 @@
      "/usr/share/lib/zoneinfo"
  };
  
-@@ -179,6 +179,15 @@ static void set_zonedir(void)
+@@ -178,6 +178,15 @@
      const char *fname = ZONES_TAB_SYSTEM_FILENAME;
      size_t i, num_search_paths;
  
 +   const char *env_tzdir = getenv ("TZDIR");
 +   if (env_tzdir) {
-+       snprintf(file_path, MAXPATHLEN, "%s/%s", env_tzdir, fname);
++       sprintf (file_path, "%s/%s", env_tzdir, fname);
 +       if (!access (file_path, F_OK|R_OK)) {
 +           zdir = env_tzdir;
 +           return;
diff --git a/pkgs/development/libraries/libiconv/default.nix b/pkgs/development/libraries/libiconv/default.nix
index b55fc18cb69b6..24dd4f2465c6a 100644
--- a/pkgs/development/libraries/libiconv/default.nix
+++ b/pkgs/development/libraries/libiconv/default.nix
@@ -1,6 +1,7 @@
 { fetchurl, stdenv, lib
 , buildPlatform, hostPlatform
 , enableStatic ? stdenv.hostPlatform.useAndroidPrebuilt
+, enableShared ? !stdenv.hostPlatform.useAndroidPrebuilt
 }:
 
 # assert !stdenv.isLinux || hostPlatform != buildPlatform; # TODO: improve on cross
@@ -14,14 +15,24 @@ stdenv.mkDerivation rec {
     sha256 = "0y1ij745r4p48mxq84rax40p10ln7fc7m243p8k8sia519i3dxfc";
   };
 
+  setupHooks = [
+    ../../../build-support/setup-hooks/role.bash
+    ./setup-hook.sh
+  ];
+
   postPatch =
     lib.optionalString ((hostPlatform != buildPlatform && hostPlatform.libc == "msvcrt") || stdenv.cc.nativeLibc)
       ''
         sed '/^_GL_WARN_ON_USE (gets/d' -i srclib/stdio.in.h
-      '';
+      ''
+    + lib.optionalString (!enableShared) ''
+      sed -i -e '/preload/d' Makefile.in
+    '';
 
-  configureFlags = lib.optional stdenv.isFreeBSD "--with-pic"
-    ++ lib.optional enableStatic "--enable-static";
+  configureFlags = [
+    (lib.enableFeature enableStatic "static")
+    (lib.enableFeature enableShared "shared")
+  ] ++ lib.optional stdenv.isFreeBSD "--with-pic";
 
   meta = {
     description = "An iconv(3) implementation";
diff --git a/pkgs/development/libraries/libiconv/setup-hook.sh b/pkgs/development/libraries/libiconv/setup-hook.sh
new file mode 100644
index 0000000000000..d20e94513e263
--- /dev/null
+++ b/pkgs/development/libraries/libiconv/setup-hook.sh
@@ -0,0 +1,6 @@
+# libiconv must be listed in load flags on non-Glibc
+# it doesn't hurt to have it in Glibc either though
+
+# See pkgs/build-support/setup-hooks/role.bash
+getHostRole
+export NIX_${role_pre}LDFLAGS+=" -liconv"
diff --git a/pkgs/development/libraries/libid3tag/default.nix b/pkgs/development/libraries/libid3tag/default.nix
index a153001a9600c..0289a5331f893 100644
--- a/pkgs/development/libraries/libid3tag/default.nix
+++ b/pkgs/development/libraries/libid3tag/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, writeText, zlib, gperf}:
+{stdenv, fetchurl, zlib, gperf}:
 
 stdenv.mkDerivation rec {
   name = "libid3tag-${version}";
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 54d669f1913b1..66ae352525ffe 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "libidn-1.33";
+  name = "libidn-1.35";
 
   src = fetchurl {
     url = "mirror://gnu/libidn/${name}.tar.gz";
-    sha256 = "068fjg2arlppjqqpzd714n1lf6gxkpac9v5yyvp1qwmv6nvam9s4";
+    sha256 = "07pyy0afqikfq51z5kbzbj9ldbd12mri0zvx0mfv3ds6bc0g26pi";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
 
+  doCheck = false; # fails
+
   meta = {
     homepage = http://www.gnu.org/software/libidn/;
     description = "Library for internationalized domain names";
diff --git a/pkgs/development/libraries/libidn2/default.nix b/pkgs/development/libraries/libidn2/default.nix
index d375785e497ea..dd8e3c4a4f878 100644
--- a/pkgs/development/libraries/libidn2/default.nix
+++ b/pkgs/development/libraries/libidn2/default.nix
@@ -1,22 +1,21 @@
-{ fetchurl, stdenv, libiconv, libunistring, help2man, ronn, buildPackages }:
+{ fetchurl, stdenv, libiconv, libunistring, help2man, buildPackages }:
 
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "libidn2-${version}";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchurl {
     url = "mirror://gnu/gnu/libidn/${name}.tar.gz";
-    sha256 = "1w6jycr5bbawimhb72wxf9ic92yrhfadahfj0b70myw5n81nnjv4";
+    sha256 = "1f529jxmhj12q7i1gvw2d9i24zbslz3kj91kbgxac7vgi1q93xjk";
   };
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
 
   patches = optional stdenv.isDarwin ./fix-error-darwin.patch;
 
-  nativeBuildInputs = [ ronn ]
-    ++ optional stdenv.isDarwin help2man;
+  nativeBuildInputs = optional stdenv.isDarwin help2man;
   buildInputs = [ libunistring ] ++ optional stdenv.isDarwin libiconv;
   depsBuildBuild = [ buildPackages.stdenv.cc ];
 
diff --git a/pkgs/development/libraries/libimobiledevice/default.nix b/pkgs/development/libraries/libimobiledevice/default.nix
index cef9cc0af6b2a..f4eafcdaace4f 100644
--- a/pkgs/development/libraries/libimobiledevice/default.nix
+++ b/pkgs/development/libraries/libimobiledevice/default.nix
@@ -1,31 +1,46 @@
-{ stdenv, fetchurl, fetchpatch, python2, pkgconfig, usbmuxd, glib, libgcrypt,
-  libtasn1, libplist, readline, libusbmuxd, openssl }:
+{ stdenv, fetchFromGitHub, automake, autoconf, libtool, pkgconfig, gnutls
+, libgcrypt, libtasn1, glib, libplist, libusbmuxd }:
 
 stdenv.mkDerivation rec {
-  name = "libimobiledevice-1.2.0";
-
-  nativeBuildInputs = [ python2 libplist.swig pkgconfig ];
-  buildInputs = [ readline ];
-  propagatedBuildInputs = [ libusbmuxd glib libgcrypt libtasn1 libplist openssl ];
-
-  patches = [
-    ./disable_sslv3.patch
-    (fetchpatch { # CVE-2016-5104
-      url = "https://github.com/libimobiledevice/libimobiledevice/commit/df1f5c4d70d0c19ad40072f5246ca457e7f9849e.patch";
-      sha256 = "06ygb9aqcvm4v08wrldsddjgyqv5bkpq6lxzq2a1nwqp9mq4a4k1";
-    })
-  ];
+  pname = "libimobiledevice";
+  version = "2018-07-24";
 
-  postPatch = ''sed -e 's@1\.3\.21@@' -i configure'';
-  passthru.swig = libplist.swig;
+  name = "${pname}-${version}";
 
-  src = fetchurl {
-    url = "${meta.homepage}/downloads/${name}.tar.bz2";
-    sha256 = "0dqhy4qwj30mw8pwckvjmgnj1qqrh6p8c6jknmhvylshhzh0ssvq";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "d7a2e04d2e7880c56116fd35489a7f98755501b7";
+    sha256 = "0cj0j10lmfr28c7nh79n2mcmy31xx50g93h0bqs0l7y76ph4dqkc";
   };
 
-  meta = {
-    homepage = http://www.libimobiledevice.org;
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    libtool
+    pkgconfig
+  ];
+  propagatedBuildInputs = [
+    glib
+    gnutls
+    libgcrypt
+    libplist
+    libtasn1
+    libusbmuxd
+  ];
+
+  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
+
+  configureFlags = [
+    "--disable-static"
+    "--disable-openssl"
+    "--without-cython"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/libimobiledevice/libimobiledevice;
     description = "A software library that talks the protocols to support iPhone®, iPod Touch® and iPad® devices on Linux";
     longDescription = ''
       libimobiledevice is a software library that talks the protocols to support
@@ -37,7 +52,10 @@ stdenv.mkDerivation rec {
       installed applications, retrieve addressbook/calendars/notes and bookmarks
       and synchronize music and video to the device. The library is in
       development since August 2007 with the goal to bring support for these
-      devices to the Linux Desktop.'';
-    inherit (usbmuxd.meta) platforms maintainers;
+      devices to the Linux Desktop.
+    '';
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
index 445a505b68c8f..1f5ee90337aa5 100644
--- a/pkgs/development/libraries/libindicate/default.nix
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -2,8 +2,8 @@
 
 { stdenv, fetchurl, lib, file
 , pkgconfig, autoconf
-, glib, dbus-glib, libdbusmenu-glib
-, gtkVersion, gtk2 ? null, gtk3 ? null
+, glib, dbus-glib, libdbusmenu
+, gtkVersion ? "3", gtk2 ? null, gtk3 ? null
 , pythonPackages, gobjectIntrospection, vala, gnome-doc-utils
 , monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig autoconf gobjectIntrospection vala gnome-doc-utils ];
 
   buildInputs = [
-    glib dbus-glib libdbusmenu-glib
+    glib dbus-glib libdbusmenu
     python pygobject2 pygtk
   ] ++ (if gtkVersion == "2"
     then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
diff --git a/pkgs/development/libraries/libindicator/default.nix b/pkgs/development/libraries/libindicator/default.nix
index 67936fecdf4ec..33691f79a4c8d 100644
--- a/pkgs/development/libraries/libindicator/default.nix
+++ b/pkgs/development/libraries/libindicator/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, lib, file
 , pkgconfig
-, gtkVersion, gtk2 ? null, gtk3 ? null }:
+, gtkVersion ? "3", gtk2 ? null, gtk3 ? null }:
 
 with lib;
 
@@ -40,6 +40,8 @@ stdenv.mkDerivation rec {
     "localstatedir=\${TMPDIR}"
   ];
 
+  doCheck = false; # fails 8 out of 8 tests
+
   meta = {
     description = "A set of symbols and convenience functions for Ayatana indicators";
     homepage = https://launchpad.net/libindicator;
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index 9bbb8f0e129d2..78c0fd6fb26cd 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -1,49 +1,53 @@
 { gtkWidgets ? false # build GTK widgets for libinfinity
-, daemon ? false # build infinote daemon
-, documentation ? false # build documentation
 , avahiSupport ? false # build support for Avahi in libinfinity
 , stdenv, fetchurl, pkgconfig, glib, libxml2, gnutls, gsasl
-, gtk2 ? null, gtkdoc ? null, avahi ? null, libdaemon ? null, libidn, gss
-, libintlOrEmpty }:
+, gobjectIntrospection
+, gtk3 ? null, gtk-doc, docbook_xsl, docbook_xml_dtd_412, avahi ? null, libdaemon, libidn, gss
+, libintl }:
 
-let
-  edf = flag: feature: (if flag then "--with-" else "--without-") + feature;
-  optional = cond: elem: assert cond -> elem != null; if cond then [elem] else [];
-
-in stdenv.mkDerivation rec {
-
-  name = "libinfinity-0.7.1";
-  src = fetchurl {
-    url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
-    sha256 = "1jw2fhrcbpyz99bij07iyhy9ffyqdn87vl8cb1qz897y3f2f0vk2";
-  };
+assert avahiSupport -> avahi != null;
+assert gtkWidgets -> gtk3 != null;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib libxml2 gsasl libidn gss libintlOrEmpty ]
-    ++ optional gtkWidgets gtk2
-    ++ optional documentation gtkdoc
-    ++ optional avahiSupport avahi
-    ++ optional daemon libdaemon;
-
-  propagatedBuildInputs = [ gnutls ];
-  
-  configureFlags = ''
-    ${if documentation then "--enable-gtk-doc" else "--disable-gtk-doc"}
-    ${edf gtkWidgets "inftextgtk"}
-    ${edf gtkWidgets "infgtk"}
-    ${edf daemon "infinoted"}
-    ${edf daemon "libdaemon"}
-    ${edf avahiSupport "avahi"}
-  '';
-
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
-
-  meta = {
-    homepage = http://gobby.0x539.de/;
-    description = "An implementation of the Infinote protocol written in GObject-based C";
-    license = stdenv.lib.licenses.lgpl2Plus;
-    maintainers = [ stdenv.lib.maintainers.phreedom ];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+let
+  mkFlag = flag: feature: (if flag then "--with-" else "--without-") + feature;
+
+  self = stdenv.mkDerivation rec {
+    name = "libinfinity-${version}";
+    version = "0.7.1";
+    src = fetchurl {
+      url = "http://releases.0x539.de/libinfinity/${name}.tar.gz";
+      sha256 = "1jw2fhrcbpyz99bij07iyhy9ffyqdn87vl8cb1qz897y3f2f0vk2";
+    };
+
+    outputs = [ "bin" "out" "dev" "man" "devdoc" ];
+
+    nativeBuildInputs = [ pkgconfig gtk-doc docbook_xsl docbook_xml_dtd_412 gobjectIntrospection ];
+    buildInputs = [ glib libxml2 gsasl libidn gss libintl libdaemon ]
+      ++ stdenv.lib.optional gtkWidgets gtk3
+      ++ stdenv.lib.optional avahiSupport avahi;
+
+    propagatedBuildInputs = [ gnutls ];
+
+    configureFlags = [
+      "--enable-gtk-doc"
+      "--enable-introspection"
+      (mkFlag gtkWidgets "inftextgtk")
+      (mkFlag gtkWidgets "infgtk")
+      "--with-infinoted"
+      "--with-libdaemon"
+      (mkFlag avahiSupport "avahi")
+    ];
+
+    passthru = {
+      infinoted = "${self.bin}/bin/infinoted-${stdenv.lib.versions.majorMinor version}";
+    };
+
+    meta = {
+      homepage = http://gobby.0x539.de/;
+      description = "An implementation of the Infinote protocol written in GObject-based C";
+      license = stdenv.lib.licenses.lgpl2Plus;
+      maintainers = [ stdenv.lib.maintainers.phreedom ];
+      platforms = with stdenv.lib.platforms; linux ++ darwin;
+    };
   };
-
-}
+in self
diff --git a/pkgs/development/libraries/libinotify-kqueue/default.nix b/pkgs/development/libraries/libinotify-kqueue/default.nix
new file mode 100644
index 0000000000000..6fc507daf6410
--- /dev/null
+++ b/pkgs/development/libraries/libinotify-kqueue/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchzip, autoreconfHook }:
+
+stdenv.mkDerivation rec {
+  name = "libinotify-kqueue-${version}";
+  version = "20180201";
+
+  src = fetchzip {
+    url = "https://github.com/libinotify-kqueue/libinotify-kqueue/archive/${version}.tar.gz";
+    sha256 = "0dkh6n0ghhcl7cjkjmpin118h7al6i4vlkmw57vip5f6ngr6q3pl";
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  doCheck = true;
+  checkFlags = [ "test" ];
+
+  meta = with stdenv.lib; {
+    description = "Inotify shim for macOS and BSD";
+    homepage = https://github.com/libinotify-kqueue/libinotify-kqueue;
+    license = licenses.mit;
+    maintainers = with maintainers; [ yegortimoshenko ];
+    platforms = with platforms; darwin ++ freebsd ++ netbsd ++ openbsd;
+  };
+}
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 0e2458a389596..d42bd315d22f8 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -16,14 +16,14 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.10.0";
+  version = "1.11.3";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "0mrzsf0349d1g68lizkzxw7vaw459fl8xhl7v0s8njb31hp2riy2";
+    url = "https://www.freedesktop.org/software/libinput/${name}.tar.xz";
+    sha256 = "01nb1shnl871d939wgfd7nc9svclcnfjfhlq64b4yns2dvcr24gk";
   };
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "bin" "out" "dev" ];
 
   mesonFlags = [
     (mkFlag documentationSupport "documentation")
@@ -31,6 +31,10 @@ stdenv.mkDerivation rec {
     (mkFlag testsSupport "tests")
   ];
 
+  preConfigure = ''
+    mesonFlags="$mesonFlags --libexecdir=$bin/libexec"
+  '';
+
   nativeBuildInputs = [ pkgconfig meson ninja ]
     ++ optionals documentationSupport [ doxygen graphviz ]
     ++ optionals testsSupport [ check valgrind python3Packages.pyparsing ];
diff --git a/pkgs/development/libraries/libircclient/default.nix b/pkgs/development/libraries/libircclient/default.nix
index fef5e7278b818..612de78b741dc 100644
--- a/pkgs/development/libraries/libircclient/default.nix
+++ b/pkgs/development/libraries/libircclient/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name    = "${pname}-${version}";
diff --git a/pkgs/development/libraries/libite/default.nix b/pkgs/development/libraries/libite/default.nix
index 51a7ab4851c37..7580c1b092e26 100644
--- a/pkgs/development/libraries/libite/default.nix
+++ b/pkgs/development/libraries/libite/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libite-${version}";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "troglobit";
     repo = "libite";
     rev = "v${version}";
-    sha256 = "07zypi3f02ygl7h5yc9sy136iiwgdi3r3nkjai9bq4gzjmzsvyl9";
+    sha256 = "0qk7231c1xwvjhkc9w7hasvafvgns10cx9kdhfdbc4r1hsh6d1ca";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libivykis/default.nix b/pkgs/development/libraries/libivykis/default.nix
index ed595505fae1b..af3ab3a7c4eed 100644
--- a/pkgs/development/libraries/libivykis/default.nix
+++ b/pkgs/development/libraries/libivykis/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "libivykis-${version}";
 
-  version = "0.42.1";
+  version = "0.42.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/libivykis/${version}/ivykis-${version}.tar.gz";
-    sha256 = "0c90cfpxipw2m8i3ajr7vy7lb8gvcz2kh5n8sd542zphr4na8whq";
+    sha256 = "14vb613j4xas70wr7g5z9c9z871xhayd4zliywwf88myd41jcsw8";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 4ec0e5ebd9f4f..e4f70b792fd54 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -29,9 +29,6 @@ stdenv.mkDerivation rec {
     description = "A faster (using SIMD) libjpeg implementation";
     license = licenses.ijg; # and some parts under other BSD-style licenses
     maintainers = [ maintainers.vcunat ];
-    # upstream supports darwin (and others), but it doesn't build currently
     platforms = platforms.all;
-    hydraPlatforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 8b0a4ec98edad..96dbd463370bb 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -3,11 +3,11 @@
 with stdenv.lib;
 
 stdenv.mkDerivation {
-  name = "libjpeg-8d";
+  name = "libjpeg-9c";
 
   src = fetchurl {
-    url = http://www.ijg.org/files/jpegsrc.v8d.tar.gz;
-    sha256 = "1cz0dy05mgxqdgjf52p54yxpyy95rgl30cnazdrfmw7hfca9n0h0";
+    url = http://www.ijg.org/files/jpegsrc.v9c.tar.gz;
+    sha256 = "08kixcf3a7s9x91174abjnk1xbvj4v8crdc73zi4k9h3jfbm00k5";
   };
 
   configureFlags = optional static "--enable-static --disable-shared";
diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
index 87cae22468528..f352c8e9ed198 100644
--- a/pkgs/development/libraries/libjson-rpc-cpp/default.nix
+++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, jsoncpp, argtable, curl, libmicrohttpd
-, doxygen, catch, pkgconfig, git
+, doxygen, catch, pkgconfig
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/libksba/default.nix b/pkgs/development/libraries/libksba/default.nix
index 3f7a4bed9cc9b..0611e0e57e7b2 100644
--- a/pkgs/development/libraries/libksba/default.nix
+++ b/pkgs/development/libraries/libksba/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "info" ];
 
-  buildInputs = stdenv.lib.optional stdenv.isDarwin gettext;
+  buildInputs = [ gettext ];
   propagatedBuildInputs = [ libgpgerror ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/liblangtag/default.nix b/pkgs/development/libraries/liblangtag/default.nix
new file mode 100644
index 0000000000000..6d9085e1741bc
--- /dev/null
+++ b/pkgs/development/libraries/liblangtag/default.nix
@@ -0,0 +1,52 @@
+{stdenv, fetchurl, fetchFromBitbucket, autoreconfHook, gtkdoc, gettext
+, pkgconfig, glib, libxml2, gobjectIntrospection, gnome-common, unzip
+}:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "liblangtag";
+  version = "0.6.1";
+
+  src = fetchFromBitbucket {
+    owner = "tagoh";
+    repo = "${pname}";
+    rev = "${version}";
+    sha256 = "19dk2qsg7f3ig9xz8d73jvikmf5kvrwi008wrz2psxinbdml442g";
+  };
+
+  core_zip = fetchurl {
+    # please update if an update is available
+    url = "http://www.unicode.org/Public/cldr/33/core.zip";
+    sha256 = "1faq1p5dmxpkczz6cjfsry7piksgym19cq2kf4jj2v885h490d7s";
+  };
+
+  language_subtag_registry = fetchurl {
+    url = "http://www.iana.org/assignments/language-subtag-registry";
+    sha256 = "1qfkvllyqcy40vmnvjn5w9fxw7g6ww46cb306vkgcfghnjjfhv3b";
+  };
+
+  postPatch = ''
+    gtkdocize
+    cp "${core_zip}" data/core.zip
+    touch data/stamp-core-zip
+    cp "${language_subtag_registry}" data/language-subtag-registry
+  '';
+
+  configureFlags = [
+    ''--with-locale-alias=${stdenv.cc.libc}/share/locale/locale.alias''
+  ];
+
+  buildInputs = [ gettext glib libxml2 gobjectIntrospection gnome-common 
+    unzip ];
+  nativeBuildInputs = [ autoreconfHook gtkdoc gettext pkgconfig ];
+
+  meta = {
+    inherit version;
+    description = "An interface library to access tags for identifying languages";
+    license = stdenv.lib.licenses.mpl20;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    # There are links to a homepage that are broken by a BitBucket change
+    homepage = "https://bitbucket.org/tagoh/liblangtag/overview";
+  };
+}
diff --git a/pkgs/development/libraries/liblinear/default.nix b/pkgs/development/libraries/liblinear/default.nix
new file mode 100644
index 0000000000000..ea05df45169f6
--- /dev/null
+++ b/pkgs/development/libraries/liblinear/default.nix
@@ -0,0 +1,39 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "liblinear-${version}";
+  version = "2.20";
+
+  src = fetchurl {
+    url = "https://www.csie.ntu.edu.tw/~cjlin/liblinear/liblinear-${version}.tar.gz";
+    sha256 = "13q48azqy9pd8jyhk0c2hzj5xav1snbdrj8pp38vwrv2wwhfz7rz";
+  };
+
+  buildPhase = ''
+    make
+    make lib
+  '';
+
+  installPhase = let
+    libSuff = stdenv.hostPlatform.extensions.sharedLibrary;
+  in ''
+    mkdir -p $out/lib $out/bin $out/include
+    cp liblinear.so.3 $out/lib/liblinear.3${libSuff}
+    ln -s $out/lib/liblinear.3${libSuff} $out/lib/liblinear${libSuff}
+    cp train $out/bin/liblinear-train
+    cp predict $out/bin/liblinear-predict
+    cp linear.h $out/include
+  '';
+
+  postFixup = stdenv.lib.optionalString stdenv.isDarwin ''
+    install_name_tool -id liblinear.3.dylib $out/lib/liblinear.3.dylib
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A library for large linear classification";
+    homepage = https://www.csie.ntu.edu.tw/~cjlin/liblinear/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.danieldk ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/liblo/default.nix b/pkgs/development/libraries/liblo/default.nix
index ae1d458b0d52a..c72b9723dc52f 100644
--- a/pkgs/development/libraries/liblo/default.nix
+++ b/pkgs/development/libraries/liblo/default.nix
@@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0sn0ckc1d0845mhsaa62wf7f9v0c0ykiq796a30ja5096kib9qdc";
   };
 
-  meta = { 
+  doCheck = false; # fails 1 out of 3 tests
+
+  meta = {
     description = "Lightweight library to handle the sending and receiving of messages according to the Open Sound Control (OSC) protocol";
     homepage = https://sourceforge.net/projects/liblo;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/libraries/liblognorm/default.nix b/pkgs/development/libraries/liblognorm/default.nix
index 81490ccd5390c..a21b65170d390 100644
--- a/pkgs/development/libraries/liblognorm/default.nix
+++ b/pkgs/development/libraries/liblognorm/default.nix
@@ -1,16 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, libestr, json_c, pcre }:
+{ stdenv, fetchurl, pkgconfig, libestr, json_c, pcre, fastJson }:
 
 stdenv.mkDerivation rec {
-  name = "liblognorm-1.1.2";
-  
+  name = "liblognorm-2.0.5";
+
   src = fetchurl {
     url = "http://www.liblognorm.com/files/download/${name}.tar.gz";
-    sha256 = "0v2k5awr6vsbp36gybrys3zfkl675sywhsh4lnm7f21inlpi2nlk";
+    sha256 = "145i1lrl2n145189i7l2a62yazjg9rkyma5jic41y0r17fl1s5f8";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libestr json_c pcre ];
-  
+  buildInputs = [ libestr json_c pcre fastJson ];
+
   configureFlags = [ "--enable-regexp" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/liblouis/default.nix b/pkgs/development/libraries/liblouis/default.nix
index bde1ff4e49369..a6005d66b4d66 100644
--- a/pkgs/development/libraries/liblouis/default.nix
+++ b/pkgs/development/libraries/liblouis/default.nix
@@ -50,6 +50,7 @@ in stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Open-source braille translator and back-translator";
     homepage = http://liblouis.org/;
+    broken = true;
     license = licenses.lgpl21;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/libmanette/default.nix b/pkgs/development/libraries/libmanette/default.nix
new file mode 100644
index 0000000000000..51d2e49eb3503
--- /dev/null
+++ b/pkgs/development/libraries/libmanette/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, ninja, meson, pkgconfig, vala, gobjectIntrospection
+, glib, libgudev, libevdev, gnome3 }:
+
+let
+  version = "0.2.1";
+  pname = "libmanette";
+in
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "14vqz30p4693yy3yxs0gj858x25sl2kawib1g9lj8g5frgl0hd82";
+  };
+
+  nativeBuildInputs = [ meson ninja pkgconfig vala gobjectIntrospection ];
+  buildInputs = [ glib libgudev libevdev ];
+
+  doCheck = true;
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A simple GObject game controller library";
+    homepage = https://wiki.gnome.org/Apps/Builder;
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libmatchbox/default.nix b/pkgs/development/libraries/libmatchbox/default.nix
index fcecd3a9d132b..798aef8e7da7c 100644
--- a/pkgs/development/libraries/libmatchbox/default.nix
+++ b/pkgs/development/libraries/libmatchbox/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ libX11 libXext libpng ];
 
   src = fetchurl {
-    url = "http://downloads.yoctoproject.org/releases/matchbox/libmatchbox/${version}/libmatchbox-${version}.tar.bz2";
+    url = "https://downloads.yoctoproject.org/releases/matchbox/libmatchbox/${version}/libmatchbox-${version}.tar.bz2";
     sha256 = "0lvv44s3bf96zvkysa4ansxj2ffgj3b5kgpliln538q4wd9ank15";
   };
 
diff --git a/pkgs/development/libraries/libmatheval/default.nix b/pkgs/development/libraries/libmatheval/default.nix
index 1b17ff0dd4334..8e429875b36b3 100644
--- a/pkgs/development/libraries/libmatheval/default.nix
+++ b/pkgs/development/libraries/libmatheval/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ guile ];
 
   src = fetchurl {
-    url = "http://ftp.gnu.org/gnu/libmatheval/${name}.tar.gz";
+    url = "https://ftp.gnu.org/gnu/libmatheval/${name}.tar.gz";
     sha256 = "474852d6715ddc3b6969e28de5e1a5fbaff9e8ece6aebb9dc1cc63e9e88e89ab";
   };
 
diff --git a/pkgs/development/libraries/libmatroska/default.nix b/pkgs/development/libraries/libmatroska/default.nix
index 764f4442e6cb9..bbc694619d4c4 100644
--- a/pkgs/development/libraries/libmatroska/default.nix
+++ b/pkgs/development/libraries/libmatroska/default.nix
@@ -1,23 +1,30 @@
-{ stdenv, fetchurl, pkgconfig, libebml }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
+, libebml }:
 
 stdenv.mkDerivation rec {
-  name = "libmatroska-1.4.8";
+  name = "libmatroska-${version}";
+  version = "1.4.9";
 
-  src = fetchurl {
-    url = "http://dl.matroska.org/downloads/libmatroska/${name}.tar.xz";
-    sha256 = "14n9sw974prr3yp4yjb7aadi6x2yz5a0hjw8fs3qigy5shh2piyq";
+  src = fetchFromGitHub {
+    owner  = "Matroska-Org";
+    repo   = "libmatroska";
+    rev    = "release-${version}";
+    sha256 = "1hfrcpvmyqnvdkw8rz1z20zw7fpnjyl5h0g9ky7k6y1a44b1fz86";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [ libebml ];
 
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=YES"
+  ];
+
   meta = with stdenv.lib; {
     description = "A library to parse Matroska files";
     homepage = https://matroska.org/;
     license = licenses.lgpl21;
-    maintainers = [ maintainers.spwhitt ];
+    maintainers = with maintainers; [ spwhitt ];
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 431770ef12d1c..d078409777956 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python, udev, libgudev }:
 
 stdenv.mkDerivation rec {
-  name = "libmbim-1.16.0";
+  name = "libmbim-1.16.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libmbim/${name}.tar.xz";
-    sha256 = "1hpsjc7bzmakzvj8z9fffvqknc38fa8ridpmklq46jyxxnz51jn8";
+    sha256 = "0qmjvjbgs9m8qsaiq5arikzglgaas9hh1968bi7sy3905kp4yjgb";
   };
 
   outputs = [ "out" "dev" "man" ];
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 36343faa0f99d..3ba513f907811 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "18.03";
+  version = "18.05";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "1d4zqik9sm8fsr26w5jsp0rgczlh5vh3gwknxy4g3gd6pqri4igv";
+    sha256 = "08ajrmbvqn2cvfq3jjdh64lma77kx4di5vg632c6bmbir89rcxbn";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index 2e7c913e6a8dc..041e0d98d654f 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libgcrypt, curl, gnutls, pkgconfig, libiconv, libintlOrEmpty }:
+{ stdenv, fetchurl, libgcrypt, curl, gnutls, pkgconfig, libiconv, libintl }:
 
 stdenv.mkDerivation rec {
   name = "libmicrohttpd-${version}";
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "devdoc" "info" ];
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libgcrypt curl gnutls ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ libiconv libintlOrEmpty ];
+  buildInputs = [ libgcrypt curl gnutls libiconv libintl ];
 
   preCheck = ''
     # Since `localhost' can't be resolved in a chroot, work around it.
@@ -38,4 +37,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/libminc/default.nix b/pkgs/development/libraries/libminc/default.nix
index 673b572c08995..1e13f3238222a 100644
--- a/pkgs/development/libraries/libminc/default.nix
+++ b/pkgs/development/libraries/libminc/default.nix
@@ -1,31 +1,47 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, netcdf, hdf5 }:
+{ stdenv, fetchFromGitHub, cmake, zlib, netcdf, nifticlib, hdf5 }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-2.3.00";
   pname = "libminc";
+  name  = "${pname}-2018-01-17";
 
+  owner = "BIC-MNI";
+
+  # current master is significantly ahead of most recent release, so use Git version:
   src = fetchFromGitHub {
-    owner = "BIC-MNI";
-    repo = pname;
-    rev = builtins.replaceStrings [ "." ] [ "-" ] name;
-    sha256 = "1gv1rq1q1brhglll2256cm6sns77ph6fvgbzk3ihkzq46y07yi9s";
+    inherit owner;
+    repo   = pname;
+    rev    = "a9cbe1353eae9791b7d5b03af16e0f86922ce40b";
+    sha256 = "0mn4n3ihzcr1jw2g1vy6c8p4lkc88jwljk04argmj7k4djrgpxpa";
   };
 
+  postPatch = ''
+    patchShebangs .
+  '';
+
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ zlib netcdf hdf5 ];
+  buildInputs = [ zlib netcdf nifticlib hdf5 ];
 
-  cmakeFlags = [ "-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
-                 "-DLIBMINC_MINC1_SUPPORT=ON" ];
+  cmakeFlags = [
+    "-DBUILD_TESTING=${if doCheck then "ON" else "OFF"}"
+    "-DLIBMINC_MINC1_SUPPORT=ON"
+    "-DLIBMINC_BUILD_SHARED_LIBS=ON"
+    "-DLIBMINC_USE_SYSTEM_NIFTI=ON"
+  ];
 
-  checkPhase = "ctest";
-  doCheck = true;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
+  checkPhase = ''
+    export LD_LIBRARY_PATH="$(pwd)"  # see #22060
+    ctest -E 'ezminc_rw_test|minc_conversion' --output-on-failure
+    # ezminc_rw_test can't find libminc_io.so.5.2.0; minc_conversion hits netcdf compilation issue
+  '';
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/BIC-MNI/libminc;
+    homepage = "https://github.com/${owner}/${pname}";
     description = "Medical imaging library based on HDF5";
     maintainers = with maintainers; [ bcdarwin ];
     platforms = platforms.unix;
+    license   = licenses.free;
   };
 }
diff --git a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch b/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
deleted file mode 100644
index 9f863cac41226..0000000000000
--- a/pkgs/development/libraries/libmkv/A01-hbmv-pgs.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/include/libmkv.h b/include/libmkv.h
-index 146a91f..f03d608 100644
---- a/include/libmkv.h
-+++ b/include/libmkv.h
-@@ -94,6 +94,7 @@ extern "C" {
- #define MK_SUBTITLE_USF    "S_TEXT/USF"
- #define MK_SUBTITLE_VOBSUB "S_VOBSUB"
- #define MK_SUBTITLE_BMP    "S_IMAGE/BMP"
-+#define MK_SUBTITLE_PGS    "S_HDMV/PGS"
- 
- /* Official Tags */
- #define MK_TAG_TITLE		"TITLE"
diff --git a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch b/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
deleted file mode 100644
index ea31957c1d29f..0000000000000
--- a/pkgs/development/libraries/libmkv/A02-audio-out-sampling-freq.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/include/libmkv.h b/include/libmkv.h
-index 146a91f..f03d608 100644
---- a/include/libmkv.h
-+++ b/include/libmkv.h
-@@ -203,6 +204,7 @@ struct mk_TrackConfig_s {
- 		} video;
- 		struct {
- 			float samplingFreq;	/* Sampling Frequency in Hz */
-+			float outputSamplingFreq;	/* Playback Sampling Frequency in Hz (e.g. for AAC w/SBR) */
- 			unsigned channels;	/* Number of channels for this track */
- 			unsigned bitDepth;	/* Bits per sample (PCM) */
- 		} audio;
-diff --git a/src/tracks.c b/src/tracks.c
-index f9c7e48..a2a60ca 100644
---- a/src/tracks.c
-+++ b/src/tracks.c
-@@ -174,6 +174,11 @@ mk_Track *mk_createTrack(mk_Writer *w, mk_TrackConfig *tc)
- 			/* SamplingFrequency */
- 			if (mk_writeFloat(v, MATROSKA_ID_AUDIOSAMPLINGFREQ, tc->extra.audio.samplingFreq) < 0)
- 				return NULL;
-+			if (tc->extra.audio.outputSamplingFreq) {
-+				/* Output SamplingFrequency */
-+				if (mk_writeFloat(v, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, tc->extra.audio.outputSamplingFreq) < 0)
-+					return NULL;
-+			}
- 			/* Channels */
- 			if (mk_writeUInt(v, MATROSKA_ID_AUDIOCHANNELS, tc->extra.audio.channels) < 0)
- 				return NULL;
diff --git a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch b/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
deleted file mode 100644
index 6a83eacca83ef..0000000000000
--- a/pkgs/development/libraries/libmkv/P00-mingw-large-file.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- libmkv.orig/src/matroska.c	2009-01-12 23:14:26.000000000 -0800
-+++ libmkv/src/matroska.c	2009-03-25 15:22:30.000000000 -0700
-@@ -27,6 +27,11 @@
- 
- #include <sys/time.h>
- 
-+#if defined( __MINGW32__ )
-+#undef fseeko
-+#define fseeko fseeko64
-+#endif
-+
- #define RESERVED_SEEKHEAD 0x100
- /* 256 bytes should be enough room for our Seek entries. */
- #define RESERVED_CHAPTERS 0x800
-@@ -34,7 +39,7 @@
- 
- int mk_seekFile(mk_Writer *w, uint64_t pos)
- {
--	if (fseek(w->fp, pos, SEEK_SET))
-+	if (fseeko(w->fp, pos, SEEK_SET))
- 		return -1;
- 
- 	w->f_pos = pos;
-
diff --git a/pkgs/development/libraries/libmkv/default.nix b/pkgs/development/libraries/libmkv/default.nix
index ab451fcd5fde5..48e710c208f43 100644
--- a/pkgs/development/libraries/libmkv/default.nix
+++ b/pkgs/development/libraries/libmkv/default.nix
@@ -1,26 +1,19 @@
 { stdenv, fetchgit, libtool, autoconf, automake }:
 
 stdenv.mkDerivation rec {
-  name = "libmkv-0.6.5.1p2";
-  
+  name = "libmkv-${version}";
+  version = "0.6.5.1";
+
   src = fetchgit {
     url = https://github.com/saintdev/libmkv.git;
-    rev = "refs/tags/0.6.5.1";
+    rev = "refs/tags/${version}";
     sha256 = "0pr9q7yprndl8d15ir7i7cznvmf1yqpvnsyivv763n6wryssq6dl";
   };
 
   nativeBuildInputs = [ libtool autoconf automake ];
 
-  # TODO fix library version
   preConfigure = "sh bootstrap.sh";
 
-  # From Handbrake
-  patches = [
-    ./A01-hbmv-pgs.patch
-    ./A02-audio-out-sampling-freq.patch
-    ./P00-mingw-large-file.patch
-  ];
-
   meta = {
     homepage = https://github.com/saintdev/libmkv;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/libraries/libmnl/default.nix b/pkgs/development/libraries/libmnl/default.nix
index 2dbdb60b4b66d..7c4b451ae6d1a 100644
--- a/pkgs/development/libraries/libmnl/default.nix
+++ b/pkgs/development/libraries/libmnl/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libmnl-1.0.4";
 
   src = fetchurl {
-    url = "http://netfilter.org/projects/libmnl/files/${name}.tar.bz2";
+    url = "https://netfilter.org/projects/libmnl/files/${name}.tar.bz2";
     sha256 = "108zampspaalv44zn0ar9h386dlfixpd149bnxa5hsi8kxlqj7qp";
   };
 
diff --git a/pkgs/development/libraries/libmowgli/default.nix b/pkgs/development/libraries/libmowgli/default.nix
index 06a98bcdcebfc..b23701837fa0a 100644
--- a/pkgs/development/libraries/libmowgli/default.nix
+++ b/pkgs/development/libraries/libmowgli/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmowgli-0.9.50";
+  name = "libmowgli-${version}";
+  version = "2.1.3";
   
   src = fetchurl {
-    url = "http://distfiles.atheme.org/${name}.tar.bz2";
-    sha256 = "0wbnpd2rzk5jg6pghgxyx7brjrdmsyg4p0mm9blwmrdrj5ybxx9z";
+    url = "https://github.com/atheme/libmowgli-2/archive/v${version}.tar.gz";
+    sha256 = "0xx4vndmwz40pxa5gikl8z8cskpdl9a30i2i5fjncqzlp4pspymp";
   };
   
   meta = {
diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix
index 7e5ac2a2297ca..af8297e985494 100644
--- a/pkgs/development/libraries/libmp3splt/default.nix
+++ b/pkgs/development/libraries/libmp3splt/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ libtool ];
   buildInputs = [ libmad libid3tag ];
 
-  configureFlags = "--disable-pcre";
+  configureFlags = [ "--disable-pcre" ];
 
   meta = with stdenv.lib; {
     homepage    = https://sourceforge.net/projects/mp3splt/;
diff --git a/pkgs/development/libraries/libmpcdec/default.nix b/pkgs/development/libraries/libmpcdec/default.nix
index 084d7ba73704b..a5a4d68ad9691 100644
--- a/pkgs/development/libraries/libmpcdec/default.nix
+++ b/pkgs/development/libraries/libmpcdec/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libmpcdec-1.2.6";
 
   src = fetchurl {
-    url = http://files.musepack.net/source/libmpcdec-1.2.6.tar.bz2;
+    url = https://files.musepack.net/source/libmpcdec-1.2.6.tar.bz2;
     sha256 = "1a0jdyga1zfi4wgkg3905y6inghy3s4xfs5m4x7pal08m0llkmab";
   };
 
diff --git a/pkgs/development/libraries/libmrss/default.nix b/pkgs/development/libraries/libmrss/default.nix
index b0adcf2375494..f1a061e5ab585 100644
--- a/pkgs/development/libraries/libmrss/default.nix
+++ b/pkgs/development/libraries/libmrss/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libmrss-0.19.2";
 
   src = fetchurl {
-    url = "http://www.autistici.org/bakunin/libmrss/libmrss-0.19.2.tar.gz";
+    url = "https://www.autistici.org/bakunin/libmrss/libmrss-0.19.2.tar.gz";
     sha256 = "02r1bgj8qlkn63xqfi5yq8y7wrilxcnkycaag8qskhg5ranic507";
   };
 
diff --git a/pkgs/development/libraries/libmspack/default.nix b/pkgs/development/libraries/libmspack/default.nix
index 79d4c056341c3..2cb4cd3cd9bf8 100644
--- a/pkgs/development/libraries/libmspack/default.nix
+++ b/pkgs/development/libraries/libmspack/default.nix
@@ -1,11 +1,11 @@
 {stdenv, fetchurl}:
 
 stdenv.mkDerivation rec {
-  name = "libmspack-0.6alpha";
+  name = "libmspack-0.7.1alpha";
 
   src = fetchurl {
-    url = "http://www.cabextract.org.uk/libmspack/${name}.tar.gz";
-    sha256 = "08gr2pcinas6bdqz3k0286g5cnksmcx813skmdwyca6bmj1fxnqy";
+    url = "https://www.cabextract.org.uk/libmspack/${name}.tar.gz";
+    sha256 = "0zn4vwzk5ankgd0l88cipan19pzbzv0sm3fba17lvqwka3dp1acp";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index 88ef55715a7c8..c3061626a6ae3 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libusb1 }:
+{ stdenv, fetchurl, pkgconfig, libusb1, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "libmtp-1.1.15";
@@ -10,6 +10,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" ];
 
+  buildInputs = [ libiconv ];
   propagatedBuildInputs = [ libusb1 ];
   nativeBuildInputs = [ pkgconfig ];
 
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
       in the form of a library suitable primarily for POSIX compliant operating
       systems. We implement MTP Basic, the stuff proposed for standardization.
       '';
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index 35137a09cd9cb..79718b47745c7 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libmwaw";
-    version="0.3.13";
+    version="0.3.14";
     name="${baseName}-${version}";
-    hash="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv";
-    url="mirror://sourceforge/libmwaw/libmwaw/libmwaw-0.3.13/libmwaw-0.3.13.tar.xz";
-    sha256="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv";
+    hash="1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c";
+    url="mirror://sourceforge/libmwaw/libmwaw/libmwaw-0.3.14/libmwaw-0.3.14.tar.xz";
+    sha256="1s9wyf8pyh3fbazq2d2b6fgi7s7bid60viw2xbdkmn2ywlfbza5c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index 9eefbcfdb49ee..2b7258031c337 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.1.9";
 
   src = fetchurl {
-    url = "http://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}.tar.gz";
+    url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}.tar.gz";
     sha256 = "1r6j17sy5816a2ld759iis2k6igc2w9p70y4nw9w3rd4d5x88c9y";
   };
 
diff --git a/pkgs/development/libraries/libnatpmp/default.nix b/pkgs/development/libraries/libnatpmp/default.nix
new file mode 100644
index 0000000000000..17626bb23e139
--- /dev/null
+++ b/pkgs/development/libraries/libnatpmp/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libnatpmp-${version}";
+  version = "20150609";
+
+  src = fetchurl {
+    name = "${name}.tar.gz";
+    url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
+    sha256 = "1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1";
+  };
+
+  makeFlags = [ "INSTALLPREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    homepage = http://miniupnp.free.fr/libnatpmp.html;
+    description = "NAT-PMP client";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ orivej ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libnatspec/default.nix b/pkgs/development/libraries/libnatspec/default.nix
index fe38755f10c55..9b692e9e3b2e6 100644
--- a/pkgs/development/libraries/libnatspec/default.nix
+++ b/pkgs/development/libraries/libnatspec/default.nix
@@ -19,6 +19,5 @@ stdenv.mkDerivation (rec {
     maintainers = [ ];
   };
 } // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
-  NIX_LDFLAGS = "-liconv";
   propagatedBuildInputs = [ libiconv ];
 })
diff --git a/pkgs/development/libraries/libndctl/default.nix b/pkgs/development/libraries/libndctl/default.nix
new file mode 100644
index 0000000000000..b53920f60b8b8
--- /dev/null
+++ b/pkgs/development/libraries/libndctl/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, asciidoc, docbook_xsl, docbook_xml_dtd_45, libxslt, xmlto, pkgconfig, json_c, kmod, which, systemd, utillinux
+}:
+
+let
+  version = "61.2";
+in stdenv.mkDerivation rec {
+  name = "libndctl-${version}";
+
+  src = fetchFromGitHub {
+    owner = "pmem";
+    repo = "ndctl";
+    rev = "v${version}";
+    sha256 = "0vid78jzhmzh505bpwn8mvlamfhcvl6rlfjc29y4yn7zslpydxl7";
+  };
+
+  outputs = [ "out" "man" "dev" ];
+
+  nativeBuildInputs = [
+    autoreconfHook asciidoc pkgconfig xmlto docbook_xml_dtd_45 docbook_xsl libxslt
+  ];
+
+  buildInputs = [
+    json_c kmod systemd utillinux
+  ];
+
+  patches = [
+    (fetchpatch {
+      name = "add-missing-include-for-ssize_t.patch";
+      url = "https://github.com/pmem/ndctl/commit/8f1798d14dda367c659b87362edb312739830ddf.patch";
+      sha256 = "1jr5kh087938msl22hgjngbf025n9iplz0czmybfp7lavl73m0pm";
+    })
+  ];
+
+  postPatch = ''
+    patchShebangs test
+  '';
+
+  preAutoreconf = ''
+    substituteInPlace configure.ac --replace "which" "${which}/bin/which"
+    substituteInPlace git-version --replace /bin/bash ${stdenv.shell}
+    substituteInPlace git-version-gen --replace /bin/sh ${stdenv.shell}
+    echo "m4_define([GIT_VERSION], [${version}])" > version.m4;
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Utility library for managing the libnvdimm (non-volatile memory device) sub-system in the Linux kernel";
+    homepage = https://github.com/pmem/ndctl;
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libndp/default.nix b/pkgs/development/libraries/libndp/default.nix
index 888fe423b47c3..78304246f12b1 100644
--- a/pkgs/development/libraries/libndp/default.nix
+++ b/pkgs/development/libraries/libndp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libndp-1.6";
+  name = "libndp-1.7";
 
   src = fetchurl {
     url = "http://libndp.org/files/${name}.tar.gz";
-    sha256 = "03mczwrxqbp54msafxzzyhaazkvjdwm2kipjkrb5xg8kw22glz8c";
+    sha256 = "1dlinhl39va00v55qygjc9ap77yqf7xvn4rwmvdr49xhzzxhlj1c";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libndtypes/default.nix b/pkgs/development/libraries/libndtypes/default.nix
new file mode 100644
index 0000000000000..685518efbd229
--- /dev/null
+++ b/pkgs/development/libraries/libndtypes/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  name = "libndtypes-${version}";
+  version = "0.2.0dev3";
+
+  src = fetchFromGitHub {
+    owner = "plures";
+    repo = "ndtypes";
+    rev = "v${version}";
+    sha256 = "0dpvv13mrid8l5zkjlz18qvirz3nr0v98agx9bcvkqbiahlfgjli";
+  };
+
+  makeFlags = [ "CONFIGURE_LDFLAGS='-shared'" ];
+
+  meta = {
+    description = "Dynamic types for data description and in-memory computations";
+    homepage = https://xnd.io/;
+    license = lib.licenses.bsdOriginal;
+    maintainers = with lib.maintainers; [ costrouc ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/libraries/libnetfilter_conntrack/default.nix b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
index 1b4c471a2567f..41245e6539f4a 100644
--- a/pkgs/development/libraries/libnetfilter_conntrack/default.nix
+++ b/pkgs/development/libraries/libnetfilter_conntrack/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libnetfilter_conntrack-${version}";
-  version = "1.0.6";
+  version = "1.0.7";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/libnetfilter_conntrack/files/${name}.tar.bz2";
-    sha256 = "1svzyf3rq9nbrcw1jsricgyhh7x1am8iqn6kjr6mzrw42810ik7g";
+    sha256 = "1dl9z50yny04xi5pymlykwmy6hcfc9p4nd7m47697zwxw98m6s1k";
   };
 
   buildInputs = [ libmnl ];
diff --git a/pkgs/development/libraries/libnetfilter_cthelper/default.nix b/pkgs/development/libraries/libnetfilter_cthelper/default.nix
index fa94fa549e420..a680e009ab6a6 100644
--- a/pkgs/development/libraries/libnetfilter_cthelper/default.nix
+++ b/pkgs/development/libraries/libnetfilter_cthelper/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0.0";
 
   src = fetchurl {
-    url = "http://netfilter.org/projects/libnetfilter_cthelper/files/${name}.tar.bz2";
+    url = "https://netfilter.org/projects/libnetfilter_cthelper/files/${name}.tar.bz2";
     sha256 = "07618e71c4d9a6b6b3dc1986540486ee310a9838ba754926c7d14a17d8fccf3d";
   };
 
diff --git a/pkgs/development/libraries/libnfnetlink/default.nix b/pkgs/development/libraries/libnfnetlink/default.nix
index 5395b5b2e99c8..fa6461d869195 100644
--- a/pkgs/development/libraries/libnfnetlink/default.nix
+++ b/pkgs/development/libraries/libnfnetlink/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libnfnetlink-1.0.1";
 
   src = fetchurl {
-    url = "http://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2";
+    url = "https://www.netfilter.org/projects/libnfnetlink/files/${name}.tar.bz2";
     sha256 = "06mm2x4b01k3m7wnrxblk9j0mybyr4pfz28ml7944xhjx6fy2w7j";
   };
 
diff --git a/pkgs/development/libraries/libnfs/default.nix b/pkgs/development/libraries/libnfs/default.nix
index 2955aaebc0102..96bd983e64cdd 100644
--- a/pkgs/development/libraries/libnfs/default.nix
+++ b/pkgs/development/libraries/libnfs/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libnfs-${version}";
-  version = "2.0.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "sahlberg";
     repo = "libnfs";
     rev = "libnfs-${version}";
-    sha256 = "1xd1xb09jxwmx7hblv0f9gxv7i1glk3nbj2vyq50zpi158lnf2mb";
+    sha256 = "115p55y2cbs92z5lmcnjx1v29lwinpgq4sha9v1kq1vd8674h404";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libnfsidmap/default.nix b/pkgs/development/libraries/libnfsidmap/default.nix
index 74562ebe13265..ce21cda4a5d4c 100644
--- a/pkgs/development/libraries/libnfsidmap/default.nix
+++ b/pkgs/development/libraries/libnfsidmap/default.nix
@@ -2,12 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "libnfsidmap-0.25";
-  
+
   src = fetchurl {
     url = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${name}.tar.gz";
     sha256 = "1kzgwxzh83qi97rblcm9qj80cdvnv8kml2plz0q103j0hifj8vb5";
   };
 
+  postPatch = ''
+    sed -i '1i#include <sys/types.h>' cfg.h
+  '';
+
   preConfigure =
     ''
       configureFlags="--with-pluginpath=$out/lib/libnfsidmap"
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index ad8c7626661eb..0d4d6504142ad 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.9";
+  version = "1.1.1";
   name = "libnftnl-${version}";
 
   src = fetchurl {
     url = "https://netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
-    sha256 = "0d9nkdbdck8sg6msysqyv3m9kjr9sjif5amf26dfa0g3mqjdihgy";
+    sha256 = "1wmgjfcb35mscb2srzia5931srygywrs1aznxmg67v177x0nasjx";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libnice/default.nix b/pkgs/development/libraries/libnice/default.nix
index c7967c3fb6fc9..1f58545574cd3 100644
--- a/pkgs/development/libraries/libnice/default.nix
+++ b/pkgs/development/libraries/libnice/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libnice-0.1.14";
 
   src = fetchurl {
-    url = "http://nice.freedesktop.org/releases/${name}.tar.gz";
+    url = "https://nice.freedesktop.org/releases/${name}.tar.gz";
     sha256 = "17404z0fr6z3k7s2pkyyh9xp5gv7yylgyxx01mpl7424bnlhn4my";
   };
 
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base gnutls ];
   propagatedBuildInputs = [ glib gupnp-igd ];
 
+  doCheck = false; # fails with "fatal error: nice/agent.h: No such file or directory"
+
   meta = {
     homepage = https://nice.freedesktop.org/wiki/;
     description = "The GLib ICE implementation";
diff --git a/pkgs/development/libraries/libnih/default.nix b/pkgs/development/libraries/libnih/default.nix
index 4903d54b4a318..22eb8ed64dd8a 100644
--- a/pkgs/development/libraries/libnih/default.nix
+++ b/pkgs/development/libraries/libnih/default.nix
@@ -4,7 +4,7 @@ let version = "1.0.3"; in
 
 stdenv.mkDerivation rec {
   name = "libnih-${version}";
-  
+
   src = fetchurl {
     url = "http://code.launchpad.net/libnih/1.0/${version}/+download/libnih-${version}.tar.gz";
     sha256 = "01glc6y7z1g726zwpvp2zm79pyb37ki729jkh45akh35fpgp4xc9";
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus expat ];
 
+  doCheck = false; # fails 1 of 17 test
+
   meta = {
     description = "A small library for C application development";
     homepage = https://launchpad.net/libnih;
diff --git a/pkgs/development/libraries/libnxml/default.nix b/pkgs/development/libraries/libnxml/default.nix
index f34c421a120aa..8d97a13b0a088 100644
--- a/pkgs/development/libraries/libnxml/default.nix
+++ b/pkgs/development/libraries/libnxml/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libnxml-0.18.3";
 
   src = fetchurl {
-    url = "http://www.autistici.org/bakunin/libnxml/libnxml-0.18.3.tar.gz";
+    url = "https://www.autistici.org/bakunin/libnxml/libnxml-0.18.3.tar.gz";
     sha256 = "0ix5b9bxd7r517vhgcxwdviq4m0g0pq46s5g3h04gcqnpbin150g";
   };
 
diff --git a/pkgs/development/libraries/libodfgen/default.nix b/pkgs/development/libraries/libodfgen/default.nix
index 8a3e22ef31f7c..54f1d2617287e 100644
--- a/pkgs/development/libraries/libodfgen/default.nix
+++ b/pkgs/development/libraries/libodfgen/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libodfgen";
-    version="0.1.6";
+    version="0.1.7";
     name="${baseName}-${version}";
-    hash="1sdr42f0bigip14zhs51m0zdwwzzl1mwmk882l4khpph8jmi1ch3";
-    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.6/libodfgen-0.1.6.tar.xz";
-    sha256="1sdr42f0bigip14zhs51m0zdwwzzl1mwmk882l4khpph8jmi1ch3";
+    hash="0cdq48wlpp8m0qmndybv64r0m4vh0qsqx69cn6ms533cjlgljgij";
+    url="mirror://sourceforge/project/libwpd/libodfgen/libodfgen-0.1.7/libodfgen-0.1.7.tar.xz";
+    sha256="0cdq48wlpp8m0qmndybv64r0m4vh0qsqx69cn6ms533cjlgljgij";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index 1c8f33d82f72d..86166ec608fd3 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, opensp, pkgconfig, libxml2, curl }:
         
 stdenv.mkDerivation rec {
-  name = "libofx-0.9.12";
+  name = "libofx-0.9.13";
 
   src = fetchurl {
     url = "mirror://sourceforge/libofx/${name}.tar.gz";
-    sha256 = "0wvkgffq9qjhjrggg8r1nbhmw65j3lcl4y4cdpmmkrqiz9ia0py1";
+    sha256 = "1r60pj1jn269mk4s4025qxllkzgvnbw5r3vby8j2ry5svmygksjp";
   };
 
   configureFlags = [ "--with-opensp-includes=${opensp}/include/OpenSP" ];
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index a8d2953cad009..fb2dad605252c 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A library of simple functions that are optimized for various CPUs";
-    homepage    = http://liboil.freedesktop.org;
+    homepage    = https://liboil.freedesktop.org;
     license     = licenses.bsd2;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/libomxil-bellagio/default.nix b/pkgs/development/libraries/libomxil-bellagio/default.nix
index 28c8a915c6357..68302acac29fc 100644
--- a/pkgs/development/libraries/libomxil-bellagio/default.nix
+++ b/pkgs/development/libraries/libomxil-bellagio/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   patches = [ ./fedora-fixes.patch ];
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/projects/omxil/;
     description = "An opensource implementation of the Khronos OpenMAX Integration Layer API to access multimedia components";
diff --git a/pkgs/development/libraries/libopcodes/default.nix b/pkgs/development/libraries/libopcodes/default.nix
index d6d6989761bca..2c59fa03ea06a 100644
--- a/pkgs/development/libraries/libopcodes/default.nix
+++ b/pkgs/development/libraries/libopcodes/default.nix
@@ -1,15 +1,15 @@
 { stdenv, buildPackages
-, fetchurl, autoreconfHook264, bison, binutils-raw
+, autoreconfHook264, bison, binutils-unwrapped
 , libiberty, libbfd
 }:
 
 stdenv.mkDerivation rec {
   name = "libopcodes-${version}";
-  inherit (binutils-raw.bintools) version src;
+  inherit (binutils-unwrapped) version src;
 
   outputs = [ "out" "dev" ];
 
-  patches = binutils-raw.bintools.patches ++ [
+  patches = binutils-unwrapped.patches ++ [
     ../../tools/misc/binutils/build-components-separately.patch
   ];
 
diff --git a/pkgs/development/libraries/liboping/default.nix b/pkgs/development/libraries/liboping/default.nix
index c177f7ba58eea..ca026811d69b0 100644
--- a/pkgs/development/libraries/liboping/default.nix
+++ b/pkgs/development/libraries/liboping/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ ncurses perl ];
 
-  configureFlags = stdenv.lib.optionalString (perl == null) "--with-perl-bindings=no";
+  configureFlags = stdenv.lib.optional (perl == null) "--with-perl-bindings=no";
 
   meta = with stdenv.lib; {
     description = "C library to generate ICMP echo requests (a.k.a. ping packets)";
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index 66c7e7e882e81..135f1caf97e2f 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch
+{ stdenv, fetchurl
 , fixedPoint ? false, withCustomModes ? true }:
 
 let
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index 0175e21bbc729..111bea61eb654 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     pkgconfig vala intltool gobjectIntrospection gtk-doc docbook_xsl
-  ] ++ stdenv.lib.optionals doCheck checkInputs;
-  checkInputs = [ check curl perl ];
+  ];
   buildInputs = [ glib libsoup libxml2 libxslt ];
+  checkInputs = [ check curl perl ];
 
   patches = [
     ./osinfo-db-data-dir.patch
diff --git a/pkgs/development/libraries/libossp-uuid/default.nix b/pkgs/development/libraries/libossp-uuid/default.nix
index ddfc2a5132c76..952509acc2eeb 100644
--- a/pkgs/development/libraries/libossp-uuid/default.nix
+++ b/pkgs/development/libraries/libossp-uuid/default.nix
@@ -10,7 +10,11 @@ stdenv.mkDerivation {
     sha256= "11a615225baa5f8bb686824423f50e4427acd3f70d394765bdff32801f0fd5b0";
   };
 
-  configureFlags = stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
+  configureFlags = [
+    "ac_cv_va_copy=yes"
+  ] ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
+
+  patches = [ ./shtool.patch ];
 
   meta = with stdenv.lib; {
     homepage = http://www.ossp.org/pkg/lib/uuid/;
diff --git a/pkgs/development/libraries/libossp-uuid/shtool.patch b/pkgs/development/libraries/libossp-uuid/shtool.patch
new file mode 100644
index 0000000000000..f0c7cc485f509
--- /dev/null
+++ b/pkgs/development/libraries/libossp-uuid/shtool.patch
@@ -0,0 +1,11 @@
+--- a/shtool	2008-07-05 05:43:08.000000000 +0800
++++ b/shtool	2018-07-25 15:45:40.559587471 +0800
+@@ -1400,7 +1400,7 @@
+             if [ ".$opt_t" = .yes ]; then
+                 echo "strip $dsttmp" 1>&2
+             fi
+-            strip $dsttmp || shtool_exit $?
++            $STRIP $dsttmp || shtool_exit $?
+         fi
+         if [ ".$opt_o" != . ]; then
+             if [ ".$opt_t" = .yes ]; then
diff --git a/pkgs/development/libraries/libpcap/default.nix b/pkgs/development/libraries/libpcap/default.nix
index bef5f9a9da34c..f94f327ea02ef 100644
--- a/pkgs/development/libraries/libpcap/default.nix
+++ b/pkgs/development/libraries/libpcap/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libpcap-1.8.1";
 
   src = fetchurl {
-    url = "http://www.tcpdump.org/release/${name}.tar.gz";
+    url = "https://www.tcpdump.org/release/${name}.tar.gz";
     sha256 = "07jlhc66z76dipj4j5v3dig8x6h3k6cb36kmnmpsixf3zmlvqgb7";
   };
 
@@ -12,10 +12,16 @@ stdenv.mkDerivation rec {
 
   # We need to force the autodetection because detection doesn't
   # work in pure build enviroments.
-  configureFlags =
-    if stdenv.isLinux then [ "--with-pcap=linux" ]
-    else if stdenv.isDarwin then [ "--with-pcap=bpf" ]
-    else [];
+  configureFlags = [
+    ("--with-pcap=" + {
+      linux = "linux";
+      darwin = "bpf";
+    }.${stdenv.hostPlatform.parsed.kernel.name})
+  ] ++ stdenv.lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+    "ac_cv_linux_vers=2"
+  ];
+
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace " -arch i386" ""
@@ -39,12 +45,6 @@ stdenv.mkDerivation rec {
 
   preInstall = ''mkdir -p $out/bin'';
 
-  crossAttrs = {
-    # Stripping hurts in static libraries
-    dontStrip = true;
-    configureFlags = configureFlags ++ [ "ac_cv_linux_vers=2" ];
-  };
-
   meta = with stdenv.lib; {
     homepage = http://www.tcpdump.org;
     description = "Packet Capture Library";
diff --git a/pkgs/development/libraries/libpfm/default.nix b/pkgs/development/libraries/libpfm/default.nix
index a74d838e2eb6c..25e55e45d1e28 100644
--- a/pkgs/development/libraries/libpfm/default.nix
+++ b/pkgs/development/libraries/libpfm/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  version = "4.9.0";
+  version = "4.10.1";
   name = "libpfm-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/perfmon2/libpfm4/${name}.tar.gz";
-    sha256 = "1qp4g4n6dw42p2w5rkwzdb7ynk8h7g5vg01ybpmvxncgwa7bw3yv";
+    sha256 = "0jabhjx77yppr7x38bkfww6n2a480gj62rw0qp7prhdmg19mf766";
   };
 
   installFlags = "DESTDIR=\${out} PREFIX= LDCONFIG=true";
@@ -21,6 +21,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.gpl2;
     maintainers = [ maintainers.pierron ];
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libphonenumber/default.nix b/pkgs/development/libraries/libphonenumber/default.nix
new file mode 100644
index 0000000000000..4cb327ff527ba
--- /dev/null
+++ b/pkgs/development/libraries/libphonenumber/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, cmake, gmock, boost, pkgconfig, protobuf, icu }:
+
+let
+  version = "8.9.9";
+in
+stdenv.mkDerivation {
+  name = "phonenumber-${version}";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "googlei18n";
+    repo = "libphonenumber";
+    rev = "v${version}";
+    sha256 = "005visnfnr84blgdi0yp4hrzskwbsnawrzv6lqfi9f073l6w5j6w";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    gmock
+    pkgconfig
+  ];
+
+  buildInputs = [
+    boost
+    protobuf
+    icu
+  ];
+
+  cmakeDir = "../cpp";
+
+  checkPhase = "./libphonenumber_test";
+
+  meta = with stdenv.lib; {
+    description = "Google's i18n library for parsing and using phone numbers";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ illegalprime ];
+  };
+}
diff --git a/pkgs/development/libraries/libpipeline/default.nix b/pkgs/development/libraries/libpipeline/default.nix
index 4da6a0b3cbc77..e11527ca10c91 100644
--- a/pkgs/development/libraries/libpipeline/default.nix
+++ b/pkgs/development/libraries/libpipeline/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
- 
+
 stdenv.mkDerivation rec {
-  name = "libpipeline-1.4.1";
-  
+  name = "libpipeline-1.5.0";
+
   src = fetchurl {
     url = "mirror://savannah/libpipeline/${name}.tar.gz";
-    sha256 = "1vmrs4nvdsmb550bk10cankrd42ffczlibpsnafxpak306rdfins";
+    sha256 = "0avg525wvifcvjrwa6i1r6kvahmsswj0mpxrsxzzdzra9wpf2whd";
   };
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./fix-on-osx.patch ];
diff --git a/pkgs/development/libraries/libplist/default.nix b/pkgs/development/libraries/libplist/default.nix
index d8ebc2e83a61f..0d6e3b8db6e0a 100644
--- a/pkgs/development/libraries/libplist/default.nix
+++ b/pkgs/development/libraries/libplist/default.nix
@@ -1,31 +1,41 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, swig2, python2Packages, glib }:
+{ stdenv,  autoreconfHook, fetchFromGitHub, pkgconfig, python2Packages, glib }:
 
 let
   inherit (python2Packages) python cython;
-in stdenv.mkDerivation rec {
-  name = "libplist-${version}";
-  version = "2.0.0";
-
-  nativeBuildInputs = [ pkgconfig swig2 python cython ];
+in
+stdenv.mkDerivation rec {
+  pname = "libplist";
+  version = "2018-07-25";
+
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "libimobiledevice";
+    repo = pname;
+    rev = "db68a9d1070b363eee93147f072f46526064acbc";
+    sha256 = "0lxyb35jjg31m8dxhsv1jr2ccy5s19fsqzisy7lfjk46w7brs4h5";
+  };
 
-  propagatedBuildInputs = [ glib ];
+  outputs = ["bin" "dev" "out" "py"];
 
-  passthru.swig = swig2;
+  nativeBuildInputs = [
+    pkgconfig
+    python
+    cython
+    autoreconfHook
+  ];
 
-  outputs = ["bin" "dev" "out" "py"];
+  propagatedBuildInputs = [ glib ];
 
   postFixup = ''
     moveToOutput "lib/${python.libPrefix}" "$py"
   '';
 
-  src = fetchurl {
-    url = "http://www.libimobiledevice.org/downloads/${name}.tar.bz2";
-    sha256 = "00pnh9zf3iwdji2faccns7vagbmbrwbj9a8zp9s53a6rqaa9czis";
-  };
-
-  meta = {
-    homepage = https://github.com/JonathanBeck/libplist;
-    platforms = stdenv.lib.platforms.all;
+  meta = with stdenv.lib; {
+    description = "A library to handle Apple Property List format in binary or XML";
+    homepage = https://github.com/libimobiledevice/libplist;
+    license = licenses.lgpl21Plus;
     maintainers = [ ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index 457f99ef13bde..0153ff8327b67 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -18,12 +18,7 @@ stdenv.mkDerivation rec {
 
   passthru = { inherit zlib; };
 
-  crossAttrs = stdenv.lib.optionalAttrs (hostPlatform.libc == "libSystem") {
-    propagatedBuildInputs = [];
-    passthru = {};
-  };
-
-  configureFlags = "--enable-static";
+  configureFlags = [ "--enable-static" ];
 
   postInstall = ''mv "$out/bin" "$dev/bin"'';
 
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 5ad9cf1e7b771..0e5a4a866e8ff 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -1,13 +1,9 @@
-{ stdenv, fetchurl, zlib, apngSupport ? true
-, buildPlatform, hostPlatform
-}:
+{ stdenv, fetchurl, zlib, apngSupport ? true }:
 
 assert zlib != null;
 
 let
-  version = "1.6.34";
   patchVersion = "1.6.34";
-  sha256 = "1xjr0v34fyjgnhvaa1zixcpx5yvxcg4zwvfh0fyklfyfj86rc7ig";
   patch_src = fetchurl {
     url = "mirror://sourceforge/libpng-apng/libpng-${patchVersion}-apng.patch.gz";
     sha256 = "1ha4npf9mfrzp0srg8a5amks5ww84xzfpjbsj8k3yjjpai798qg6";
@@ -16,10 +12,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "libpng" + whenPatched "-apng" + "-${version}";
+  version = "1.6.34";
 
   src = fetchurl {
     url = "mirror://sourceforge/libpng/libpng-${version}.tar.xz";
-    inherit sha256;
+    sha256 = "1xjr0v34fyjgnhvaa1zixcpx5yvxcg4zwvfh0fyklfyfj86rc7ig";
   };
   postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
 
@@ -28,9 +25,7 @@ in stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ zlib ];
 
-  # it's hard to cross-run tests and some check programs didn't compile anyway
-  makeFlags = stdenv.lib.optional (!doCheck) "check_PROGRAMS=";
-  doCheck = true; # not cross;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   passthru = { inherit zlib; };
 
diff --git a/pkgs/development/libraries/libpqxx/default.nix b/pkgs/development/libraries/libpqxx/default.nix
index eb70677b3e954..5afed2b2a2f50 100644
--- a/pkgs/development/libraries/libpqxx/default.nix
+++ b/pkgs/development/libraries/libpqxx/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libpqxx-${version}";
-  version = "6.1.1";
+  version = "6.2.4";
 
   src = fetchFromGitHub {
     owner = "jtv";
     repo = "libpqxx";
     rev = version;
-    sha256 = "0yw0wvnpw0j560f5zv4gvmafi19d9hrknwjzl7qrss926aqx65jq";
+    sha256 = "18fkyfa3a917ljmarf3jy8ycdhqzpc47cj87542sjpxnpaj9hy59";
   };
 
   nativeBuildInputs = [ gnused python2 ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  configureFlags = "--enable-shared";
+  configureFlags = [ "--enable-shared" ];
 
   meta = {
     description = "A C++ library to access PostgreSQL databases";
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index bf9e2d079cd6e..0e0499251eb91 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, pkgconfig, cmake, zlib
+{ stdenv, fetchFromGitHub, pkgconfig, cmake, zlib
 , dbus, networkmanager, spidermonkey_38, pcre, python2, python3
 , SystemConfiguration, CoreFoundation, JavaScriptCore }:
 
@@ -30,6 +30,8 @@ stdenv.mkDerivation rec {
     )
   '';
 
+  doCheck = false; # fails 1 out of 10 tests
+
   meta = with stdenv.lib; {
     platforms = platforms.linux ++ platforms.darwin;
     license = licenses.lgpl21;
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 1b15769465e1d..377d9fe50be74 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -1,13 +1,15 @@
-{ stdenv, fetchurl, mpfr, libxml2, intltool, pkgconfig, doxygen,
+{ stdenv, fetchFromGitHub, mpfr, libxml2, intltool, pkgconfig, doxygen,
   autoreconfHook, readline, libiconv, icu, curl, gnuplot, gettext }:
 
 stdenv.mkDerivation rec {
   name = "libqalculate-${version}";
-  version = "2.3.0";
+  version = "2.6.2";
 
-  src = fetchurl {
-    url = "https://github.com/Qalculate/libqalculate/archive/v${version}.tar.gz";
-    sha256 = "1wrd9ajf00h1ja56r25vljjsgklg0qlzmziax7x26wjqkigc28iq";
+  src = fetchFromGitHub {
+    owner = "qalculate";
+    repo = "libqalculate";
+    rev = "v${version}";
+    sha256 = "1wfffki5ib65z9ndph2c4a17qx62f07q12adzabs7ij9gv94y9j5";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libqmatrixclient/default.nix b/pkgs/development/libraries/libqmatrixclient/default.nix
index f537013d2fecf..8cca5333d084d 100644
--- a/pkgs/development/libraries/libqmatrixclient/default.nix
+++ b/pkgs/development/libraries/libqmatrixclient/default.nix
@@ -1,40 +1,26 @@
 { stdenv, fetchFromGitHub, cmake
 , qtbase }:
 
-# This doesn't actually do anything really yet as it doesn't support dynamic building
-# When it does, quaternion and tensor should use it
-
 stdenv.mkDerivation rec {
   name = "libqmatrixclient-${version}";
-  version = "0.2";
+  version = "0.3.0.2";
 
   src = fetchFromGitHub {
     owner  = "QMatrixClient";
     repo   = "libqmatrixclient";
-    rev    = "v${version}-q0.0.5";
-    sha256 = "1m53yxsqjxv2jq0h1xipwsgaj5rca4fk4cl3azgvmf19l9yn00ck";
+    rev    = "v${version}";
+    sha256 = "03pxmr4wa818fgqddkr2fkwz6pda538x3ic9yq7c40x98zqf55w5";
   };
 
   buildInputs = [ qtbase ];
 
   nativeBuildInputs = [ cmake ];
 
-  enableParallelBuilding = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    install -Dm644 -t $out/lib *.a
-
-    runHook postInstall
-  '';
-
   meta = with stdenv.lib; {
     description= "A Qt5 library to write cross-platfrom clients for Matrix";
     homepage = https://matrix.org/docs/projects/sdk/libqmatrixclient.html;
     license = licenses.lgpl21;
-    platforms = platforms.linux;
+    platforms = with platforms; linux ++ darwin;
     maintainers = with maintainers; [ peterhoeg ];
-    hydraPlatforms = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index a0f5ac7376792..5bfa1427ab657 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, glib, python, libgudev, libmbim }:
 
 stdenv.mkDerivation rec {
-  name = "libqmi-1.20.0";
+  name = "libqmi-1.20.2";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libqmi/${name}.tar.xz";
-    sha256 = "1d3fca477sdwbv4bsq1cl98qc8sixrzp0gqjcmjj8mlwfk9qqhi1";
+    sha256 = "0i6aw8jyxv84d5x8lj2g9lb8xxf1dyad8n3q0kw164pyig55jd67";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libqrencode/default.nix b/pkgs/development/libraries/libqrencode/default.nix
index 337d9423aa3df..7c1844bf281e1 100644
--- a/pkgs/development/libraries/libqrencode/default.nix
+++ b/pkgs/development/libraries/libqrencode/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   name = "libqrencode-${version}";
-  version = "3.4.4";
+  version = "4.0.0";
 
   src = fetchurl {
     url = "https://fukuchi.org/works/qrencode/qrencode-${version}.tar.gz";
     sha1 = "644054a76c8b593acb66a8c8b7dcf1b987c3d0b2";
-    sha256 = "0wiagx7i8p9zal53smf5abrnh9lr31mv0p36wg017401jrmf5577";
+    sha256 = "10da4q5pym7pzxcv21w2kc2rxmq7sp1rg58zdklwfr0jjci1nqjv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index d4ad1c0386017..9803e09610e65 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libraw-${version}";
-  version = "0.18.8";
+  version = "0.18.12";
 
   src = fetchurl {
-    url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz";
-    sha256 = "1qi0fkw2zmd0yplrf79z7lgpz0hxl45dj5rdgpaj7283jzys9b2n";
+    url = "https://www.libraw.org/data/LibRaw-${version}.tar.gz";
+    sha256 = "1m2khr2cij8z6lawgbmdksjn14fpnjsy8ad4qahnpqapm1slsxap";
   };
 
   outputs = [ "out" "lib" "dev" "doc" ];
diff --git a/pkgs/development/libraries/librdf/default.nix b/pkgs/development/libraries/librdf/default.nix
index 8f8a54337f240..41047796662e5 100644
--- a/pkgs/development/libraries/librdf/default.nix
+++ b/pkgs/development/libraries/librdf/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchurl, pkgconfig, autoreconfHook
 , librdf_raptor2, ladspaH, openssl, zlib
+, doCheck ? stdenv.config.doCheckByDefault or false, ladspaPlugins
 }:
 
 stdenv.mkDerivation rec {
@@ -11,14 +12,18 @@ stdenv.mkDerivation rec {
     sha256 = "18p2flb2sv2hq6w2qkd29z9c7knnwqr3f12i2srshlzx6vwkm05s";
   };
 
-  preAutoreconf = "rm m4/*";
-  postPatch = "sed -i -e 's:usr/local:usr:' examples/{instances,remove}_test.c";
+  postPatch = stdenv.lib.optionalString doCheck ''
+    sed -i -e 's:usr/local:${ladspaPlugins}:' examples/{instances,remove}_test.c
+  '';
 
+  preAutoreconf = "rm m4/*";
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ ladspaH openssl zlib ];
 
   propagatedBuildInputs = [ librdf_raptor2 ];
 
+  inherit doCheck;
+
   meta = {
     description = "Lightweight RDF library with special support for LADSPA plugins";
     homepage = https://sourceforge.net/projects/lrdf/;
diff --git a/pkgs/development/libraries/librdf/raptor2.nix b/pkgs/development/libraries/librdf/raptor2.nix
index 46a94e52595ca..3f43667712357 100644
--- a/pkgs/development/libraries/librdf/raptor2.nix
+++ b/pkgs/development/libraries/librdf/raptor2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, libxslt, curl }:
+{ stdenv, fetchurl, libxml2, libxslt }:
 
 stdenv.mkDerivation rec {
   name = "raptor2-2.0.15";
@@ -17,6 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://librdf.org/raptor;
     license = with stdenv.lib.licenses; [ lgpl21 asl20 ];
     maintainers = with stdenv.lib.maintainers; [ marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librdf/rasqal.nix b/pkgs/development/libraries/librdf/rasqal.nix
index 56272b319917d..124fd01781829 100644
--- a/pkgs/development/libraries/librdf/rasqal.nix
+++ b/pkgs/development/libraries/librdf/rasqal.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2 }:
+{ stdenv, fetchurl, librdf_raptor2, gmp, pkgconfig, pcre, libxml2, perl }:
 
 stdenv.mkDerivation rec {
-  name = "rasqal-0.9.32";
+  name = "rasqal-0.9.33";
 
   src = fetchurl {
     url = "http://download.librdf.org/source/${name}.tar.gz";
-    sha256 = "eeba03218e3b7dfa033934d523a1a64671a9a0f64eadc38a01e4b43367be2e8f";
+    sha256 = "0z6rrwn4jsagvarg8d5zf0j352kjgi33py39jqd29gbhcnncj939";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -16,11 +16,15 @@ stdenv.mkDerivation rec {
 
   postInstall = "rm -rvf $out/share/gtk-doc";
 
+  checkInputs = [ perl ];
+  doCheck = false; # fails with "No testsuite plan file sparql-query-plan.ttl could be created in build/..."
+  doInstallCheck = false; # fails with "rasqal-config does not support (--help|--version)"
+
   meta = {
     description = "Library that handles Resource Description Framework (RDF)";
     homepage = http://librdf.org/rasqal;
     license = with stdenv.lib.licenses; [ lgpl21 asl20 ];
     maintainers = with stdenv.lib.maintainers; [ marcweber ];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/librdf/redland.nix b/pkgs/development/libraries/librdf/redland.nix
index 402af5d6f5830..422ace462a942 100644
--- a/pkgs/development/libraries/librdf/redland.nix
+++ b/pkgs/development/libraries/librdf/redland.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, openssl, libxslt, perl
-, curl, pcre, libxml2, librdf_rasqal
+, curl, pcre, libxml2, librdf_rasqal, gmp
 , mysql, withMysql ? false
 , postgresql, withPostgresql ? false
 , sqlite, withSqlite ? true
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ perl pkgconfig ];
 
-  buildInputs = [ openssl libxslt curl pcre libxml2 ]
+  buildInputs = [ openssl libxslt curl pcre libxml2 gmp ]
     ++ stdenv.lib.optional withMysql mysql.connector-c
     ++ stdenv.lib.optional withSqlite sqlite
     ++ stdenv.lib.optional withPostgresql postgresql
@@ -28,13 +28,18 @@ stdenv.mkDerivation rec {
 
   configureFlags =
     [ "--with-threads" ]
-    ++ stdenv.lib.optional withBdb "--with-bdb=${db}";
+    ++ stdenv.lib.optionals withBdb [
+      "--with-bdb-include=${db.dev}/include"
+      "--with-bdb-lib=${db.out}/lib"
+    ];
 
   # Fix broken DT_NEEDED in lib/redland/librdf_storage_sqlite.so.
   NIX_CFLAGS_LINK = "-lraptor2";
 
+  doCheck = false; # fails 1 out of 17 tests with a segmentation fault
+
   meta = {
     homepage = http://librdf.org/;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index ebe765a0d0d4d..c996c5c25f94a 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl}:
 stdenv.mkDerivation rec {
-  version = "0.5.7";
+  version = "0.5.8";
   name = "libre-${version}";
   src = fetchurl {
     url = "http://www.creytiv.com/pub/re-${version}.tar.gz";
-    sha256 = "0f8h224xfzvnb2ngvhxz8gzxqjlkkfr6d0nj8zqivzr81ihibk2x";
+    sha256 = "0w0f8j43j0nzgvkmv3ayzrssppgjmsh6z8mpa5iqsz8nv99dc3qr";
   };
   buildInputs = [ zlib openssl ];
   makeFlags = [ "USE_ZLIB=1" "USE_OPENSSL=1" "PREFIX=$(out)" ]
diff --git a/pkgs/development/libraries/librealsense/default.nix b/pkgs/development/libraries/librealsense/default.nix
new file mode 100644
index 0000000000000..ea24c9da88b9e
--- /dev/null
+++ b/pkgs/development/libraries/librealsense/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
+
+stdenv.mkDerivation rec {
+  name = "librealsense-${version}";
+  version = "2.15.0";
+
+  src = fetchFromGitHub {
+    owner = "IntelRealSense";
+    repo = "librealsense";
+    rev = "v${version}";
+    sha256 = "12918gcn0w5h6bqgx6s44w44bs1x2pcndn2833xzya69rddkdv6x";
+  };
+
+  buildInputs = [
+    libusb
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    ninja
+    pkgconfig
+  ];
+
+  cmakeFlags = [ "-DBUILD_EXAMPLES=false" ];
+
+  meta = with stdenv.lib; {
+    description = "A cross-platform library for Intel® RealSense™ depth cameras (D400 series and the SR300)";
+    homepage = https://github.com/IntelRealSense/librealsense;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ brian-dawn ];
+    platforms = ["i686-linux" "x86_64-linux" "x86_64-darwin"];
+  };
+}
diff --git a/pkgs/development/libraries/librelp/default.nix b/pkgs/development/libraries/librelp/default.nix
index 55bb22e660b04..521f963e277c4 100644
--- a/pkgs/development/libraries/librelp/default.nix
+++ b/pkgs/development/libraries/librelp/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, gnutls, zlib }:
 
 stdenv.mkDerivation rec {
-  name = "librelp-1.2.15";
+  name = "librelp-1.2.17";
 
   src = fetchurl {
     url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
-    sha256 = "16d9km99isa4mwk6psf8brny1sfl45dijlkdwzp0yrjnj0nq6cd9";
+    sha256 = "1w6blhfr3rlmvjj0fbr8rsycrkm5b92n44zaaijg1jnvxjfqpy0v";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index f6e041e57322c..b173eddda7d0b 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -1,10 +1,10 @@
 {stdenv, fetchurl, zlib, openssl, libre}:
 stdenv.mkDerivation rec {
-  version = "0.5.2";
+  version = "0.5.3";
   name = "librem-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/rem-${version}.tar.gz";
-    sha256 = "1sv4986yyq42irk9alwp20gc3r5y0r6kix15sl8qmljgxn0lxigv";
+    sha256 = "0l401sn8lkzz9gvnvww6839xa0ys1q7w66krln194w6l8ycsg64z";
   };
   buildInputs = [zlib openssl libre];
   makeFlags = [
diff --git a/pkgs/development/libraries/librep/default.nix b/pkgs/development/libraries/librep/default.nix
index 5b3beda1eb8ba..2f78222cebb13 100644
--- a/pkgs/development/libraries/librep/default.nix
+++ b/pkgs/development/libraries/librep/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   sourceName = "librep_${version}";
 
   src = fetchurl {
-    url = "http://download.tuxfamily.org/librep/${sourceName}.tar.xz";
+    url = "https://download.tuxfamily.org/librep/${sourceName}.tar.xz";
     sha256 = "1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8";
   };
 
diff --git a/pkgs/development/libraries/libressl/default.nix b/pkgs/development/libraries/libressl/default.nix
index ae03ef7ecb976..e30f2b0af5d56 100644
--- a/pkgs/development/libraries/libressl/default.nix
+++ b/pkgs/development/libraries/libressl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib }:
 
 let
 
@@ -11,15 +11,23 @@ let
       inherit sha256;
     };
 
+    configureFlags = [ "--enable-nc" ];
+
     enableParallelBuilding = true;
 
-    outputs = [ "bin" "dev" "out" "man" ];
+    outputs = [ "bin" "dev" "out" "man" "nc" ];
+
+    postFixup = ''
+      moveToOutput "bin/nc" "$nc"
+      moveToOutput "share/man/man1/nc.1${lib.optionalString (dontGzipMan==null) ".gz"}" "$nc"
+    '';
 
     dontGzipMan = if stdenv.isDarwin then true else null; # not sure what's wrong
 
-    meta = with stdenv.lib; {
+    meta = with lib; {
       description = "Free TLS/SSL implementation";
-      homepage    = "http://www.libressl.org";
+      homepage    = "https://www.libressl.org";
+      license = with licenses; [ publicDomain bsdOriginal bsd0 bsd3 gpl3 isc ];
       platforms   = platforms.all;
       maintainers = with maintainers; [ thoughtpolice wkennington fpletz globin ];
     };
@@ -27,13 +35,18 @@ let
 
 in {
 
-  libressl_2_5 = generic {
-    version = "2.5.5";
-    sha256 = "1i77viqy1afvbr392npk9v54k9zhr9zq2vhv6pliza22b0ymwzz5";
+  libressl_2_6 = generic {
+    version = "2.6.5";
+    sha256 = "0anx9nlgixdjn811zclim85jm5yxmxwycj71ix27rlhr233xz7l5";
+  };
+
+  libressl_2_7 = generic {
+    version = "2.7.4";
+    sha256 = "19kxa5i97q7p6rrps9qm0nd8zqhdjvzx02j72400c73cl2nryfhy";
   };
 
-  libressl_2_6 = generic {
-    version = "2.6.4";
-    sha256 = "07yi37a2ghsgj2b4w30q1s4d2inqnix7ika1m21y57p9z71212k3";
+  libressl_2_8 = generic {
+    version = "2.8.0";
+    sha256 = "1hwxg14d6a9wgk360dvi0wfzw7b327a95wf6xqc3a1h6bfbblaxg";
   };
 }
diff --git a/pkgs/development/libraries/librime/default.nix b/pkgs/development/libraries/librime/default.nix
index 1384b3e7a74e1..5be9a2de94e5f 100644
--- a/pkgs/development/libraries/librime/default.nix
+++ b/pkgs/development/libraries/librime/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "librime-${version}";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "rime";
     repo = "librime";
     rev = "${version}";
-    sha256 = "1sxxxliqjjsfblx9n6ijw9gx40xqw71v352b28aw51gg3k201v0j";
+    sha256 = "1y0h3nnz97smx9z8h5fzk4c27mvrwv8kajxffqc43bhyvxvb2jd6";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage    = http://rime.im/;
+    homepage    = https://rime.im/;
     description = "Rime Input Method Engine, the core library";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ sifmelcara ];
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 4bb4db1043828..76b7e7ccaee9c 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -1,25 +1,23 @@
 { lib, stdenv, fetchurl, pkgconfig, glib, gdk_pixbuf, pango, cairo, libxml2, libgsf
-, bzip2, libcroco, libintlOrEmpty, darwin, rust, gnome3
+, bzip2, libcroco, libintl, darwin, rust, gnome3
 , withGTK ? false, gtk3 ? null
 , vala, gobjectIntrospection }:
 
 let
   pname = "librsvg";
-  version = "2.42.2";
+  version = "2.42.4";
 in
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "0c550a0bffef768a436286116c03d9f6cd3f97f5021c13e7f093b550fac12562";
+    sha256 = "1qsd0j7s97ab5fzy5b5gix5b7hbw57cr46ia8pkcrr4ylsi80li2";
   };
 
-  NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
+  outputs = [ "out" "dev" "installedTests" ];
 
-  outputs = [ "out" "dev" ];
-
-  buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintlOrEmpty ];
+  buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintl ];
 
   propagatedBuildInputs = [ glib gdk_pixbuf cairo ] ++ lib.optional withGTK gtk3;
 
@@ -28,8 +26,17 @@ stdenv.mkDerivation rec {
       ApplicationServices
     ]);
 
-  configureFlags = [ "--enable-introspection" "--enable-vala" ]
-    ++ stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+  configureFlags = [
+    "--enable-introspection"
+    "--enable-vala"
+    "--enable-installed-tests"
+    "--enable-always-build-tests"
+  ] ++ stdenv.lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+
+  makeFlags = [
+    "installed_test_metadir=$(installedTests)/share/installed-tests/RSVG"
+    "installed_testdir=$(installedTests)/libexec/installed-tests/RSVG"
+  ];
 
   NIX_CFLAGS_COMPILE
     = stdenv.lib.optionalString stdenv.isDarwin "-I${cairo.dev}/include/cairo";
@@ -54,6 +61,8 @@ stdenv.mkDerivation rec {
         -i gdk-pixbuf-loader/librsvg.thumbnailer.in
   '';
 
+  doCheck = false; # fails 20 of 145 tests, very likely to be buggy
+
   # Merge gdkpixbuf and librsvg loaders
   postInstall = ''
     mv $GDK_PIXBUF/loaders.cache $GDK_PIXBUF/loaders.cache.tmp
diff --git a/pkgs/development/libraries/librsync/0.9.nix b/pkgs/development/libraries/librsync/0.9.nix
index 0954694cf290f..3ca84ed2ce5fe 100644
--- a/pkgs/development/libraries/librsync/0.9.nix
+++ b/pkgs/development/libraries/librsync/0.9.nix
@@ -10,11 +10,12 @@ stdenv.mkDerivation {
 
   hardeningDisable = [ "format" ];
 
-  configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
+  configureFlags = [
+    (stdenv.lib.enableFeature stdenv.isCygwin    "static")
+    (stdenv.lib.enableFeature (!stdenv.isCygwin) "shared")
+  ];
 
-  crossAttrs = {
-    dontStrip = true;
-  };
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = {
     homepage = http://librsync.sourceforge.net/;
diff --git a/pkgs/development/libraries/librsync/default.nix b/pkgs/development/libraries/librsync/default.nix
index 80acaf57d6252..afb83051b211d 100644
--- a/pkgs/development/libraries/librsync/default.nix
+++ b/pkgs/development/libraries/librsync/default.nix
@@ -14,9 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake ];
   buildInputs = [ perl zlib bzip2 popt ];
 
-  crossAttrs = {
-    dontStrip = true;
-  };
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = with stdenv.lib; {
     homepage = http://librsync.sourceforge.net/;
diff --git a/pkgs/development/libraries/libsass/default.nix b/pkgs/development/libraries/libsass/default.nix
index df160f3405a3c..38ba93d4f7c59 100644
--- a/pkgs/development/libraries/libsass/default.nix
+++ b/pkgs/development/libraries/libsass/default.nix
@@ -1,15 +1,23 @@
-{ stdenv, fetchurl, autoreconfHook }:
+{ stdenv, fetchurl, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   name = "libsass-${version}";
-  version = "3.5.1";
+  version = "3.5.4";
 
   src = fetchurl {
     url = "https://github.com/sass/libsass/archive/${version}.tar.gz";
-    sha256 = "0qy5hsglrdwzlb1x83v40pnm52hrjbdrc5zardp89i3vwcdzkrq8";
+    sha256 = "0w47hvzmbdpbjx8j83wn8dwcvglpab8abkszf9xfzrpqvb6wnqaz";
   };
 
-  patchPhase = ''
+  patches = [
+    # CVE-2018-11693, is in master but no release yet
+    (fetchpatch {
+      url = "https://github.com/sass/libsass/commit/af0e12cdf09d43dbd1fc11e3f64b244277cc1a1e.patch";
+      sha256 = "1y8yvjvvz91lcr1kpq2pw8729xhdgp15mbldcw392pfzdlliwdyl";
+    })
+  ];
+
+  preConfigure = ''
     export LIBSASS_VERSION=${version}
   '';
 
diff --git a/pkgs/development/libraries/libsearpc/default.nix b/pkgs/development/libraries/libsearpc/default.nix
index fae6dc82fcf66..3ba80198fd725 100644
--- a/pkgs/development/libraries/libsearpc/default.nix
+++ b/pkgs/development/libraries/libsearpc/default.nix
@@ -1,15 +1,14 @@
-{stdenv, fetchurl, automake, autoconf, pkgconfig, libtool, python2Packages, glib, jansson}:
+{stdenv, fetchFromGitHub, automake, autoconf, pkgconfig, libtool, python2Packages, glib, jansson}:
 
-stdenv.mkDerivation rec
-{
-  version = "3.0.7";
-  seafileVersion = "6.1.0";
+stdenv.mkDerivation rec {
+  version = "3.1.0";
   name = "libsearpc-${version}";
 
-  src = fetchurl
-  {
-    url = "https://github.com/haiwen/libsearpc/archive/v${version}.tar.gz";
-    sha256 = "0fdrgksdwd4qxp7qvh75y39dy52h2f5wfjbqr00h3rwkbx4npvpg";
+  src = fetchFromGitHub {
+    owner = "haiwen";
+    repo = "libsearpc";
+    rev = "v${version}";
+    sha256 = "1zf8xxsl95wdx0372kl8s153hd8q3lhwwvwr2k96ia8scbn2ylkp";
   };
 
   patches = [ ./libsearpc.pc.patch ];
@@ -18,16 +17,15 @@ stdenv.mkDerivation rec
   buildInputs = [ automake autoconf libtool python2Packages.python python2Packages.simplejson ];
   propagatedBuildInputs = [ glib jansson ];
 
-  preConfigure = "./autogen.sh";
+  postPatch = "patchShebangs autogen.sh";
 
-  buildPhase = "make -j1";
+  preConfigure = "./autogen.sh";
 
-  meta =
-  {
+  meta = with stdenv.lib; {
     homepage = https://github.com/haiwen/libsearpc;
     description = "A simple and easy-to-use C language RPC framework (including both server side & client side) based on GObject System";
-    license = stdenv.lib.licenses.lgpl3;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ ];
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index e0c77a0cf357c..c8d9e21366dfc 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, getopt, makeWrapper }:
+{ stdenv, fetchurl, getopt, makeWrapper, utillinux }:
 
 stdenv.mkDerivation rec {
   name = "libseccomp-${version}";
@@ -17,6 +17,9 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
+  checkInputs = [ utillinux ];
+  doCheck = false; # dependency cycle
+
   # Hack to ensure that patchelf --shrink-rpath get rids of a $TMPDIR reference.
   preFixup = "rm -rfv src";
 
diff --git a/pkgs/development/libraries/libsecret/default.nix b/pkgs/development/libraries/libsecret/default.nix
index 4ff00d777691c..fde3c7a7b30e0 100644
--- a/pkgs/development/libraries/libsecret/default.nix
+++ b/pkgs/development/libraries/libsecret/default.nix
@@ -1,10 +1,9 @@
-{ stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl, gtk-doc
-, libgcrypt, gobjectIntrospection, vala_0_38, gnome3 }:
-let
+{ stdenv, fetchurl, glib, pkgconfig, intltool, libxslt, docbook_xsl
+, libgcrypt, gobjectIntrospection, vala_0_38, gnome3, libintl }:
+
+stdenv.mkDerivation rec {
   pname = "libsecret";
   version = "0.18.5";
-in
-stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -12,15 +11,21 @@ stdenv.mkDerivation rec {
     sha256 = "1cychxc3ff8fp857iikw0n2s13s2mhw2dn1mr632f7w3sn6vvrww";
   };
 
-  outputs = [ "out" "dev" ];
+  postPatch = ''
+    patchShebangs .
+  '';
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ glib ];
-  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl ];
+  nativeBuildInputs = [ pkgconfig intltool libxslt docbook_xsl libintl ];
   buildInputs = [ libgcrypt gobjectIntrospection vala_0_38 ];
   # optional: build docs with gtk-doc? (probably needs a flag as well)
 
+  # checkInputs = [ python2 ];
+
+  doCheck = false; # fails. with python3 tests fail to evaluate, with python2 they fail to run python3
+
   passthru = {
     updateScript = gnome3.updateScript {
       packageName = pname;
diff --git a/pkgs/development/libraries/libsidplayfp/default.nix b/pkgs/development/libraries/libsidplayfp/default.nix
index 78e7036bdccc7..82caacf93e6ab 100644
--- a/pkgs/development/libraries/libsidplayfp/default.nix
+++ b/pkgs/development/libraries/libsidplayfp/default.nix
@@ -7,13 +7,13 @@ stdenv.mkDerivation rec {
   pname = "libsidplayfp";
   major = "1";
   minor = "8";
-  level = "6";
+  level = "7";
   version = "${major}.${minor}.${level}";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sidplay-residfp/${pname}/${major}.${minor}/${name}.tar.gz";
-    sha256 = "0lzivfdq0crmfr01c6f5h883yr7wvagq198xkk3srdmvshhxmwnw";
+    sha256 = "14k1sbdcbhykwfcadq5lbpnm9xp2r7vs7fyi84h72g89y8pjg0da";
   };
 
   nativeBuildInputs = [ pkgconfig ]
diff --git a/pkgs/development/libraries/libsigcxx/default.nix b/pkgs/development/libraries/libsigcxx/default.nix
index f6bfff78fa269..def5ee0e19a21 100644
--- a/pkgs/development/libraries/libsigcxx/default.nix
+++ b/pkgs/development/libraries/libsigcxx/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, gnum4 }:
+{ stdenv, fetchurl, pkgconfig, gnum4 }:
 let
   ver_maj = "2.10"; # odd major numbers are unstable
   ver_min = "0";
diff --git a/pkgs/development/libraries/libsigsegv/default.nix b/pkgs/development/libraries/libsigsegv/default.nix
index 8152c1ea85246..306c73a9b551c 100644
--- a/pkgs/development/libraries/libsigsegv/default.nix
+++ b/pkgs/development/libraries/libsigsegv/default.nix
@@ -1,5 +1,4 @@
 { stdenv, fetchurl
-, buildPlatform, hostPlatform
 , enableSigbusFix ? false # required by kernels < 3.18.6
 }:
 
diff --git a/pkgs/development/libraries/libsixel/default.nix b/pkgs/development/libraries/libsixel/default.nix
index 9d4b62eb97abd..34d959423a36a 100644
--- a/pkgs/development/libraries/libsixel/default.nix
+++ b/pkgs/development/libraries/libsixel/default.nix
@@ -1,13 +1,13 @@
 {stdenv, fetchFromGitHub}:
 stdenv.mkDerivation rec {
-  version = "1.7.3";
+  version = "1.8.2";
   name = "libsixel-${version}";
 
   src = fetchFromGitHub {
     repo = "libsixel";
     rev = "v${version}";
     owner = "saitoha";
-    sha256 = "1hzmypzzigmxl07vgc52wp4dgxkhya3gfk4yzaaxc8s630r6ixs8";
+    sha256 = "1jn5z2ylccjkp9i12n5x53x2zzhhsgmgs6xxi7aja6qimfw90h1n";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libskk/default.nix b/pkgs/development/libraries/libskk/default.nix
index 521391b1bef82..b64c3e5177825 100644
--- a/pkgs/development/libraries/libskk/default.nix
+++ b/pkgs/development/libraries/libskk/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchurl, fetchFromGitHub,
+{ stdenv, fetchFromGitHub,
   libtool, gettext, pkgconfig,
   vala, gnome-common, gobjectIntrospection,
   libgee, json-glib, skk-dicts }:
 
 stdenv.mkDerivation rec {
   name = "libskk-${version}";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner = "ueno";
     repo = "libskk";
     rev = version;
-    sha256 = "092bjir866f350s4prq9q0yg34s91vmr8wbgf2vh3kcax1yj1axm";
+    sha256 = "1yvyscr22rrh0jja1bz70jzwi5776jyw39pgbgrx00j79vsv7b51";
   };
 
   buildInputs = [ skk-dicts ];
diff --git a/pkgs/development/libraries/libsnark/default.nix b/pkgs/development/libraries/libsnark/default.nix
index 578053bbb4273..4ea2209160f82 100644
--- a/pkgs/development/libraries/libsnark/default.nix
+++ b/pkgs/development/libraries/libsnark/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, boost, gmp, procps, fetchpatch, patchutils }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, openssl, boost, gmp, procps }:
 
 let
   rev = "9e6b19ff15bc19fba5da1707ba18e7f160e5ed07";
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index 0b341b38917d9..f2f8aed065f0c 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "A modern and easy-to-use crypto library";
     homepage = http://doc.libsodium.org/;
     license = licenses.isc;
-    maintainers = with maintainers; [ raskin viric wkennington ];
+    maintainers = with maintainers; [ raskin wkennington ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libsolv/default.nix b/pkgs/development/libraries/libsolv/default.nix
index 396bd09921fe3..ad8120d3591af 100644
--- a/pkgs/development/libraries/libsolv/default.nix
+++ b/pkgs/development/libraries/libsolv/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, fetchFromGitHub, cmake, zlib, expat, rpm, db }:
+{ stdenv, fetchFromGitHub, cmake, ninja, zlib, expat, rpm, db }:
 
 stdenv.mkDerivation rec {
-  rev  = "0.6.33";
+  rev  = "0.6.35";
   name = "libsolv-${rev}";
 
   src = fetchFromGitHub {
     inherit rev;
     owner  = "openSUSE";
     repo   = "libsolv";
-    sha256 = "1vf8mwqzjjqkd5ir71h4lifybibs5nhqgfgq5zzlazby02zx2yiz";
+    sha256 = "0jx1bmwwhjwfidwa0hrarwpcrf4ic068kapd4vb9m5y7xd4l55nq";
   };
 
-  cmakeFlags = "-DENABLE_RPMMD=true -DENABLE_RPMDB=true -DENABLE_PUBKEY=true -DENABLE_RPMDB_BYRPMHEADER=true";
+  cmakeFlags = [
+    "-DENABLE_COMPLEX_DEPS=true"
+    "-DENABLE_RPMMD=true"
+    "-DENABLE_RPMDB=true"
+    "-DENABLE_PUBKEY=true"
+    "-DENABLE_RPMDB_BYRPMHEADER=true"
+  ];
 
-  buildInputs = [ cmake zlib expat rpm db ];
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = [ zlib expat rpm db ];
 
   meta = with stdenv.lib; {
     description = "A free package dependency solver";
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index dad245d0791e0..2804486e2f0a5 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,30 +1,27 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig, gnome3
 , gnomeSupport ? true, sqlite, glib-networking, gobjectIntrospection
 , valaSupport ? true, vala_0_40
-, libintlOrEmpty
 , intltool, python3 }:
-let
-  pname = "libsoup";
-  version = "2.62.0";
-in
+
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
+  pname = "libsoup";
+  version = "2.62.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.xz";
-    sha256 = "1b5aff1igbsx1h4v3wmkffvzgiy8rscibqka7fmjf2lxs7l7lz5b";
+    sha256 = "1dkrz1iwsswscayfmjxqv2q00b87snlq9nxdccn5vck0vbinylwy";
   };
 
-  prePatch = ''
+  postPatch = ''
     patchShebangs libsoup/
-  '' + stdenv.lib.optionalString valaSupport
-  ''
+  '' + stdenv.lib.optionalString valaSupport ''
      substituteInPlace libsoup/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
   '';
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = libintlOrEmpty ++ [ python3 sqlite ];
+  buildInputs = [ python3 sqlite ];
   nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ]
     ++ stdenv.lib.optionals valaSupport [ vala_0_40 ];
   propagatedBuildInputs = [ glib libxml2 ];
@@ -36,7 +33,7 @@ stdenv.mkDerivation rec {
     "--with-gnome=${if gnomeSupport then "yes" else "no"}"
   ];
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  doCheck = false; # fails with "no: command not found"
 
   passthru = {
     propagatedUserEnvPackages = [ glib-networking.out ];
diff --git a/pkgs/development/libraries/libspatialindex/default.nix b/pkgs/development/libraries/libspatialindex/default.nix
index fe0acbfc538d6..8018b84a52bed 100644
--- a/pkgs/development/libraries/libspatialindex/default.nix
+++ b/pkgs/development/libraries/libspatialindex/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "libspatialindex-${version}";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/libspatialindex/spatialindex-src-${version}.tar.gz";
+    url = "https://download.osgeo.org/libspatialindex/spatialindex-src-${version}.tar.gz";
     sha256 = "1vxzm7kczwnb6qdmc0hb00z8ykx11zk3sb68gc7rch4vrfi4dakw";
   };
 
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     description = "Extensible spatial index library in C++";
     homepage = http://libspatialindex.github.io/;
     license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix
index 253c5365c8a31..8e7b539527e15 100644
--- a/pkgs/development/libraries/libspatialite/default.nix
+++ b/pkgs/development/libraries/libspatialite/default.nix
@@ -6,14 +6,14 @@ stdenv.mkDerivation rec {
   name = "libspatialite-4.3.0a";
 
   src = fetchurl {
-    url = "http://www.gaia-gis.it/gaia-sins/libspatialite-sources/${name}.tar.gz";
+    url = "https://www.gaia-gis.it/gaia-sins/libspatialite-sources/${name}.tar.gz";
     sha256 = "16d4lpl7xrm9zy4gphy6nwanpjp8wn9g4wq2i2kh8abnlhq01448";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libxml2 sqlite zlib proj geos libiconv ];
 
-  configureFlags = "--disable-freexl";
+  configureFlags = [ "--disable-freexl" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libspectre/default.nix b/pkgs/development/libraries/libspectre/default.nix
index 647e6f16fdf83..f1e4169bd48e9 100644
--- a/pkgs/development/libraries/libspectre/default.nix
+++ b/pkgs/development/libraries/libspectre/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libspectre-0.2.7";
 
   src = fetchurl {
-    url = "http://libspectre.freedesktop.org/releases/${name}.tar.gz";
+    url = "https://libspectre.freedesktop.org/releases/${name}.tar.gz";
     sha256 = "1v63lqc6bhhxwkpa43qmz8phqs8ci4dhzizyy16d3vkb20m846z8";
   };
 
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index 408436ca61844..9b5c3d530ebf0 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, cmake, zlib, openssl, libsodium }:
+{ stdenv, fetchurl, fetchpatch, pkgconfig, cmake, zlib, openssl, libsodium }:
 
 stdenv.mkDerivation rec {
   name = "libssh-0.7.5";
@@ -8,6 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "15bh6dm9c50ndddzh3gqcgw7axp3ghrspjpkb1z3dr90vkanvs2l";
   };
 
+  patches = [
+    # Fix mysql-workbench compilation
+    # https://bugs.mysql.com/bug.php?id=91923
+    (fetchpatch {
+      name = "include-fix-segfault-in-getissuebanner-add-missing-wrappers-in-libsshpp.patch";
+      url = https://git.libssh.org/projects/libssh.git/patch/?id=5ea81166bf885d0fd5d4bb232fc22633f5aaf3c4;
+      sha256 = "12q818l3nasqrfrsghxdvjcyya1bfcg0idvsf8xwm5zj7criln0a";
+    })
+  ];
+
   postPatch = ''
     # Fix headers to use libsodium instead of NaCl
     sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 4d754dc808669..f85b709cf397b 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -12,26 +12,12 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  buildInputs = [ openssl zlib ];
-
-  crossAttrs = {
-    # link against cross-built libraries
-    configureFlags = [
-      "--with-openssl"
-      "--with-libssl-prefix=${openssl.crossDrv}"
-      "--with-libz"
-      "--with-libz-prefix=${zlib.crossDrv}"
-    ];
-  } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    # mingw needs import library of ws2_32 to build the shared library
-    preConfigure = ''
-      export LDFLAGS="-L${windows.mingw_w64}/lib $LDFLAGS"
-    '';
-  };
+  buildInputs = [ openssl zlib ]
+    ++ stdenv.lib.optional hostPlatform.isMinGW windows.mingw_w64;
 
   meta = {
     description = "A client-side C library implementing the SSH2 protocol";
-    homepage = http://www.libssh2.org;
+    homepage = https://www.libssh2.org;
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/libstatgrab/default.nix b/pkgs/development/libraries/libstatgrab/default.nix
index 72d73e358485e..fb7b3be6b6988 100644
--- a/pkgs/development/libraries/libstatgrab/default.nix
+++ b/pkgs/development/libraries/libstatgrab/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "libstatgrab-0.91";
 
   src = fetchurl {
-    url = "http://ftp.i-scream.org/pub/i-scream/libstatgrab/${name}.tar.gz";
+    url = "https://ftp.i-scream.org/pub/i-scream/libstatgrab/${name}.tar.gz";
     sha256 = "1azinx2yzs442ycwq6p15skl3mscmqj7fd5hq7fckhjp92735s83";
   };
 
diff --git a/pkgs/development/libraries/libstroke/default.nix b/pkgs/development/libraries/libstroke/default.nix
index bd54b3aa343a2..400a107c5186f 100644
--- a/pkgs/development/libraries/libstroke/default.nix
+++ b/pkgs/development/libraries/libstroke/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, automake, autoconf, x11}:
+{stdenv, fetchurl, automake, autoconf, xlibsWrapper}:
 
 stdenv.mkDerivation {
   name = "libstroke-0.5.1";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "0bbpqzsqh9zrc6cg62f6vp1p4dzvv37blsd0gdlzdskgwvyzba8d";
   };
 
-  buildInputs = [ automake autoconf x11 ];
+  buildInputs = [ automake autoconf xlibsWrapper ];
 
   # libstroke ships with an ancient config.sub that doesn't know about x86_64, so regenerate it.
   # Also, modern automake doesn't like things and returns error code 63.  But it generates the file.
diff --git a/pkgs/development/libraries/libsvm/default.nix b/pkgs/development/libraries/libsvm/default.nix
index aab0da90d394e..6eb8b6b1a8e9d 100644
--- a/pkgs/development/libraries/libsvm/default.nix
+++ b/pkgs/development/libraries/libsvm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libsvm-${version}";
-  version = "3.22";
+  version = "3.23";
 
   src = fetchurl {
     url = "https://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-${version}.tar.gz";
-    sha256 = "0zd7s19y5vb7agczl6456bn45cj1y64739sslaskw1qk7dywd0bd";
+    sha256 = "0jpaq0rr92x38p4nk3gjan79ip67m6p80anb28z1d8601miysyi5";
   };
 
   buildPhase = ''
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index cc5b19f7a595a..5762291568cef 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -11,8 +11,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
-  nativeBuildInputs = [ texinfo ];
-  buildInputs = [ perl ];
+  nativeBuildInputs = [ texinfo perl ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/libtensorflow/default.nix b/pkgs/development/libraries/libtensorflow/default.nix
new file mode 100644
index 0000000000000..b4e616409c4f7
--- /dev/null
+++ b/pkgs/development/libraries/libtensorflow/default.nix
@@ -0,0 +1,69 @@
+{ stdenv
+, fetchurl
+, patchelf
+, cudaSupport ? false, symlinkJoin, cudatoolkit, cudnn, nvidia_x11
+}:
+with stdenv.lib;
+let
+  tfType = if cudaSupport then "gpu" else "cpu";
+  system =
+    if stdenv.isx86_64
+    then if      stdenv.isLinux  then "linux-x86_64"
+         else if stdenv.isDarwin then "darwin-x86_64" else unavailable
+    else unavailable;
+  unavailable = throw "libtensorflow is not available for this platform!";
+  cudatoolkit_joined = symlinkJoin {
+    name = "unsplit_cudatoolkit";
+    paths = [ cudatoolkit.out
+              cudatoolkit.lib ];};
+  rpath = makeLibraryPath ([stdenv.cc.libc stdenv.cc.cc.lib] ++
+            optionals cudaSupport [ cudatoolkit_joined cudnn nvidia_x11 ]);
+  patchLibs =
+    if stdenv.isDarwin
+    then ''
+      install_name_tool -id $out/lib/libtensorflow.so $out/lib/libtensorflow.so
+      install_name_tool -id $out/lib/libtensorflow_framework.so $out/lib/libtensorflow_framework.so
+    ''
+    else ''
+      ${patchelf}/bin/patchelf --set-rpath "${rpath}:$out/lib" $out/lib/libtensorflow.so
+      ${patchelf}/bin/patchelf --set-rpath "${rpath}" $out/lib/libtensorflow_framework.so
+    '';
+
+in stdenv.mkDerivation rec {
+  pname = "libtensorflow";
+  version = "1.10.0";
+  name = "${pname}-${version}";
+  src = fetchurl {
+    url = "https://storage.googleapis.com/tensorflow/${pname}/${pname}-${tfType}-${system}-${version}.tar.gz";
+    sha256 =
+      if system == "linux-x86_64" then
+        if cudaSupport
+        then "0v66sscxpyixjrf9yjshl001nix233i6chc61akx0kx7ial4l1wn"
+        else "11sbpcbgdzj8v17mdppfv7v1fn3nbzkdad60gc42y2j6knjbmwxb"
+      else if system == "darwin-x86_64" then
+        if cudaSupport
+        then unavailable
+        else "11p0f77m4wycpc024mh7jx0kbdhgm0wp6ir6dsa8lkcpdb59bn59"
+      else unavailable;
+  };
+
+  # Patch library to use our libc, libstdc++ and others
+  buildCommand = ''
+    . $stdenv/setup
+    mkdir -pv $out
+    tar -C $out -xzf $src
+    chmod +w $out/lib/libtensorflow.so
+    chmod +w $out/lib/libtensorflow_framework.so
+    ${patchLibs}
+    chmod -w $out/lib/libtensorflow.so
+    chmod -w $out/lib/libtensorflow_framework.so
+  '';
+
+  meta = {
+    description = "C API for TensorFlow";
+    homepage = https://www.tensorflow.org/versions/master/install/install_c;
+    license = licenses.asl20;
+    platforms = with platforms; linux ++ darwin;
+    maintainers = [maintainers.basvandijk];
+  };
+}
diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix
index fd58f4f44e78d..b5ab9d310da33 100644
--- a/pkgs/development/libraries/libtheora/default.nix
+++ b/pkgs/development/libraries/libtheora/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, libogg, libvorbis, tremor, autoconf, automake, libtool, pkgconfig}:
+{stdenv, fetchurl, libogg, libvorbis, pkgconfig}:
 
 stdenv.mkDerivation rec {
   name = "libtheora-1.1.1";
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index ab1bda9ed2992..bf0393fd89a61 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, zlib, libjpeg, xz }:
+{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, xz }:
 
 let
   version = "4.0.9";
@@ -7,18 +7,20 @@ stdenv.mkDerivation rec {
   name = "libtiff-${version}";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
+    url = "https://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
     sha256 = "1kfg4q01r4mqn7dj63ifhi6pmqzbf4xax6ni6kkk81ri5kndwyvf";
   };
 
   prePatch = let
       debian = fetchurl {
-        url = http://snapshot.debian.org/archive/debian-debug/20180128T155203Z//pool/main/t/tiff/tiff_4.0.9-3.debian.tar.xz;
-        sha256 = "0wya42y7kcq093g3h7ca10cm5sns1mgnkjmdd2qdi59v8arga4y4";
+        # When the URL disappears, it typically means that Debian has new patches
+        # (probably security) and updating to new tarball will apply them as well.
+        url = http://http.debian.net/debian/pool/main/t/tiff/tiff_4.0.9-6.debian.tar.xz;
+        sha256 = "10yk5npchxscgsnd7ihd3bbbw2fxkl7ni0plm43c9q4nwp6ms52f";
       };
     in ''
-      tar xf '${debian}'
-      patches="$patches $(cat debian/patches/series | sed 's|^|debian/patches/|')"
+      tar xf ${debian}
+      patches="$patches $(sed 's|^|debian/patches/|' < debian/patches/series)"
     '';
 
   outputs = [ "bin" "dev" "out" "man" "doc" ];
diff --git a/pkgs/development/libraries/libtomcrypt/default.nix b/pkgs/development/libraries/libtomcrypt/default.nix
index e30f699f103dd..f9e7f9684bac5 100644
--- a/pkgs/development/libraries/libtomcrypt/default.nix
+++ b/pkgs/development/libraries/libtomcrypt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libtomcrypt-${version}";
-  version = "1.18.1";
+  version = "1.18.2";
 
   src = fetchurl {
     url = "https://github.com/libtom/libtomcrypt/releases/download/v${version}/crypt-${version}.tar.xz";
-    sha256 = "053z0jzyvf6c9929phlh2p0ybx289s34g7nii5hnjigxzcs3mhap";
+    sha256 = "113vfrgapyv72lalhd3nkw7jnks8az0gcb5wqn9hj19nhcxlrbcn";
   };
 
   nativeBuildInputs = [ libtool ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://www.libtom.net/LibTomCrypt/;
+    homepage = https://www.libtom.net/LibTomCrypt/;
     description = "A fairly comprehensive, modular and portable cryptographic toolkit";
     license = with licenses; [ publicDomain wtfpl ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libtommath/default.nix b/pkgs/development/libraries/libtommath/default.nix
index cd13eef156d0b..8c88dd97ec411 100644
--- a/pkgs/development/libraries/libtommath/default.nix
+++ b/pkgs/development/libraries/libtommath/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://www.libtom.net/LibTomMath/;
+    homepage = https://www.libtom.net/LibTomMath/;
     description = "A library for integer-based number-theoretic applications";
     license = with licenses; [ publicDomain wtfpl ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 00ec229861790..f19e9d274313d 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,6 +1,51 @@
-args@{ callPackage, ... }:
+{ stdenv, lib, fetchFromGitHub, fetchpatch, pkgconfig, automake, autoconf
+, zlib, boost, openssl, libtool, python, libiconv, geoip, ncurses
+}:
 
-callPackage (import ./generic.nix {
-  version = "1.1.6";
-  sha256 = "1xlh0sqypjbx0imw3bkbjwgwb4bm6zl7c0y01p0xsw8ncfmwjll7";
-}) args
+let
+  version = "1.1.9";
+  formattedVersion = lib.replaceChars ["."] ["_"] version;
+
+  # Make sure we override python, so the correct version is chosen
+  # for the bindings, if overridden
+  boostPython = boost.override { enablePython = true; inherit python; };
+
+in stdenv.mkDerivation {
+  name = "libtorrent-rasterbar-${version}";
+
+  src = fetchFromGitHub {
+    owner = "arvidn";
+    repo = "libtorrent";
+    rev = "libtorrent-${formattedVersion}";
+    sha256 = "04w3pjzd6q9wplj1dcphylxn1i2b2x0iw1l0ma58ymh14swdah7a";
+  };
+
+  enableParallelBuilding = true;
+  nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
+  buildInputs = [ boostPython openssl zlib python libiconv geoip ncurses ];
+  preConfigure = "./autotool.sh";
+
+  postInstall = ''
+    moveToOutput "include" "$dev"
+    moveToOutput "lib/${python.libPrefix}" "$python"
+  '';
+
+  outputs = [ "out" "dev" "python" ];
+
+  configureFlags = [
+    "--enable-python-binding"
+    "--with-libgeoip=system"
+    "--with-libiconv=yes"
+    "--with-boost=${boostPython.dev}"
+    "--with-boost-libdir=${boostPython.out}/lib"
+    "--with-libiconv=yes"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://libtorrent.org/";
+    description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.phreedom ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
deleted file mode 100644
index 8c85864f87a5b..0000000000000
--- a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-# Version specific options
-{ version, sha256, patches ? [] }:
-
-{ stdenv, fetchurl, automake, autoconf, boost, openssl, lib, libtool, pkgconfig, zlib, python, libiconv, geoip, ... }:
-
-let formattedVersion = lib.replaceChars ["."] ["_"] version;
-
-in
-
-stdenv.mkDerivation rec {
-  name = "libtorrent-rasterbar-${version}";
-
-  src = fetchurl {
-    url = "https://github.com/arvidn/libtorrent/archive/libtorrent-${formattedVersion}.tar.gz";
-    inherit sha256;
-  };
-
-  inherit patches;
-
-  nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
-  buildInputs = [ boost openssl zlib python libiconv geoip ];
-
-  preConfigure = "./autotool.sh";
-
-  configureFlags = [ 
-    "--enable-python-binding"
-    "--with-libgeoip=system"
-    "--with-libiconv=yes"
-    "--with-boost=${boost.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
-    "--with-libiconv=yes"
-  ];
-
-  enableParallelBuilding = true;
-
-  meta = with stdenv.lib; {
-    homepage = http://www.rasterbar.com/products/libtorrent/;
-    description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
-    license = licenses.bsd3;
-    maintainers = [ maintainers.phreedom ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 16fca9ce3d395..b3636eef26212 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -1,46 +1,55 @@
-{ stdenv, fetchFromGitHub, cmake, libsodium, ncurses, libopus, libmsgpack
+{ stdenv, fetchFromGitHub, cmake, libsodium, ncurses, libopus, msgpack
 , libvpx, check, libconfig, pkgconfig }:
 
-stdenv.mkDerivation rec {
-  name = "libtoxcore-${version}";
-  version = "0.1.11";
+let
+  generic = { version, sha256 }:
+  stdenv.mkDerivation rec {
+    name = "libtoxcore-${version}";
+
+    src = fetchFromGitHub {
+      owner  = "TokTok";
+      repo   = "c-toxcore";
+      rev    = "v${version}";
+      inherit sha256;
+    };
+
+    cmakeFlags = [
+      "-DBUILD_NTOX=ON"
+      "-DDHT_BOOTSTRAP=ON"
+      "-DBOOTSTRAP_DAEMON=ON"
+    ];
+
+    buildInputs = [
+      libsodium msgpack ncurses libconfig
+    ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
+      libopus libvpx
+    ];
+
+    nativeBuildInputs = [ cmake pkgconfig ];
+
+    enableParallelBuilding = true;
+
+    doCheck = false; # hangs, tries to access the net?
+    checkInputs = [ check ];
+    checkPhase = "ctest";
+
+    meta = with stdenv.lib; {
+      description = "P2P FOSS instant messaging application aimed to replace Skype";
+      homepage = https://tox.chat;
+      license = licenses.gpl3Plus;
+      maintainers = with maintainers; [ peterhoeg ];
+      platforms = platforms.all;
+    };
+  };
 
-  src = fetchFromGitHub {
-    owner  = "TokTok";
-    repo   = "c-toxcore";
-    rev    = "v${version}";
+in rec {
+  libtoxcore_0_1 = generic {
+    version = "0.1.11";
     sha256 = "1fya5gfiwlpk6fxhalv95n945ymvp2iidiyksrjw1xw95fzsp1ij";
   };
 
-  cmakeFlags = [
-    "-DBUILD_NTOX=ON"
-    "-DDHT_BOOTSTRAP=ON"
-    "-DBOOTSTRAP_DAEMON=ON"
-  ];
-
-  buildInputs = [
-    libsodium libmsgpack ncurses libconfig
-  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
-    libopus
-    libvpx
-  ];
-
-  nativeBuildInputs = [ cmake pkgconfig ];
-
-  enableParallelBuilding = true;
-
-  checkInputs = [ check ];
-
-  checkPhase = "ctest";
-
-  # for some reason the tests are not running - it says "No tests found!!"
-  doCheck = true;
-
-  meta = with stdenv.lib; {
-    description = "P2P FOSS instant messaging application aimed to replace Skype";
-    homepage = https://tox.chat;
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.all;
+  libtoxcore_0_2 = generic {
+    version = "0.2.3";
+    sha256 = "1z8638cmxssc4jvbf64x549m84pz28729xbxc4c4ss1k792x30ya";
   };
 }
diff --git a/pkgs/development/libraries/libtoxcore/new-api.nix b/pkgs/development/libraries/libtoxcore/new-api.nix
index 8d0a467c82a89..401d9c7d8a2ef 100644
--- a/pkgs/development/libraries/libtoxcore/new-api.nix
+++ b/pkgs/development/libraries/libtoxcore/new-api.nix
@@ -33,11 +33,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [
     autoreconfHook libsodium ncurses check libconfig
-  ] ++ stdenv.lib.optionals (!stdenv.isArm) [
+  ] ++ stdenv.lib.optionals (!stdenv.isAarch32) [
     libopus
   ];
 
-  propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isArm) [ libvpx ];
+  propagatedBuildInputs = stdenv.lib.optionals (!stdenv.isAarch32) [ libvpx ];
 
   # Some tests fail randomly due to timeout. This kind of problem is well known
   # by upstream: https://github.com/irungentoo/toxcore/issues/{950,1054}
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "P2P FOSS instant messaging application aimed to replace Skype with crypto";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ viric jgeerds ];
+    maintainers = with maintainers; [ jgeerds ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libtsm/default.nix b/pkgs/development/libraries/libtsm/default.nix
index 58b052b8fae80..18ceb5302292a 100644
--- a/pkgs/development/libraries/libtsm/default.nix
+++ b/pkgs/development/libraries/libtsm/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libtsm-3";
 
   src = fetchurl {
-    url = "http://freedesktop.org/software/kmscon/releases/${name}.tar.xz";
+    url = "https://freedesktop.org/software/kmscon/releases/${name}.tar.xz";
     sha256 = "01ygwrsxfii0pngfikgqsb4fxp8n1bbs47l7hck81h9b9bc1ah8i";
   };
 
diff --git a/pkgs/development/libraries/libtxc_dxtn/default.nix b/pkgs/development/libraries/libtxc_dxtn/default.nix
index 9775700501584..21e3a15449c22 100644
--- a/pkgs/development/libraries/libtxc_dxtn/default.nix
+++ b/pkgs/development/libraries/libtxc_dxtn/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   name = "libtxc_dxtn-${version}";
 
   src = fetchurl {
-    url = "http://people.freedesktop.org/~cbrill/libtxc_dxtn/${name}.tar.bz2";
+    url = "https://people.freedesktop.org/~cbrill/libtxc_dxtn/${name}.tar.bz2";
     sha256 = "0q5fjaknl7s0z206dd8nzk9bdh8g4p23bz7784zrllnarl90saa5";
   };
 
diff --git a/pkgs/development/libraries/libu2f-host/default.nix b/pkgs/development/libraries/libu2f-host/default.nix
index 2def14b1c10e8..675ca1cd220b4 100644
--- a/pkgs/development/libraries/libu2f-host/default.nix
+++ b/pkgs/development/libraries/libu2f-host/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, json_c, hidapi }:
 
 stdenv.mkDerivation rec {
-  name = "libu2f-host-1.1.5";
+  name = "libu2f-host-1.1.6";
 
   src = fetchurl {
     url = "https://developers.yubico.com/libu2f-host/Releases/${name}.tar.xz";
-    sha256 = "159slvjfq4bqslx5amjkk90xnkiv3x0yzvbi54pl2vnzbr1p2azk";
+    sha256 = "19xxwwqfzg3njfpxvhlyxd05wjwsdw3m4lpn7gk31cna6agbp82d";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libu2f-server/default.nix b/pkgs/development/libraries/libu2f-server/default.nix
index 5d7da127c2a92..6140c13e493d5 100644
--- a/pkgs/development/libraries/libu2f-server/default.nix
+++ b/pkgs/development/libraries/libu2f-server/default.nix
@@ -1,15 +1,14 @@
-{ stdenv, fetchurl, pkgconfig, json_c, openssl, check }:
+{ stdenv, fetchurl, pkgconfig, json_c, openssl, check, file, help2man, which, gengetopt }:
 
 stdenv.mkDerivation rec {
-  name = "libu2f-server-1.0.1";
-
+  name = "libu2f-server-1.1.0";
   src = fetchurl {
     url = "https://developers.yubico.com/libu2f-server/Releases/${name}.tar.xz";
-    sha256 = "0vhzixz1s629qv9dpdj6b7fxfyxnr5j2vx2cq9q6v790a68ga656";
+    sha256 = "0xx296nmmqa57w0v5p2kasl5zr1ms2gh6qi4lhv6xvzbmjp3rkcd";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ json_c openssl check ];
+  buildInputs = [ json_c openssl check file help2man which gengetopt ];
 
   meta = with stdenv.lib; {
     homepage = https://developers.yubico.com/libu2f-server/;
diff --git a/pkgs/development/libraries/libuchardet/default.nix b/pkgs/development/libraries/libuchardet/default.nix
index ea411d73b3185..52bc0ac5cfd4c 100644
--- a/pkgs/development/libraries/libuchardet/default.nix
+++ b/pkgs/development/libraries/libuchardet/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     description = "Mozilla's Universal Charset Detector C/C++ API";
     homepage    = https://www.byvoid.com/zht/project/uchardet;
diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix
index 2f8963db0cd8d..b1e6938a14942 100644
--- a/pkgs/development/libraries/libui/default.nix
+++ b/pkgs/development/libraries/libui/default.nix
@@ -15,7 +15,9 @@ in
 
   nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ cmake ] ++
-      (if stdenv.isDarwin then [darwin.apple_sdk.frameworks.Cocoa] else [gtk3]);
+      (if backend == "darwin" then [darwin.apple_sdk.frameworks.Cocoa]
+       else if backend == "unix" then [gtk3]
+       else null);
 
     preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
       sed -i 's/set(CMAKE_OSX_DEPLOYMENT_TARGET "10.8")//' ./CMakeLists.txt
diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix
index e3be66e8b1ca2..24da3a8e2c7d5 100644
--- a/pkgs/development/libraries/libunistring/default.nix
+++ b/pkgs/development/libraries/libunistring/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libunistring-${version}";
-  version = "0.9.9";
+  version = "0.9.10";
 
   src = fetchurl {
     url = "mirror://gnu/libunistring/${name}.tar.gz";
-    sha256 = "0jm8pr469y7ybb90ll8k1585rciqm8ckzif0laipqhp5z440rsgm";
+    sha256 = "02v17za10mxnj095x4pvm80jxyqwk93kailfc2j8xa1r6crmnbm8";
   };
 
   outputs = [ "out" "dev" "info" "doc" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     "--with-libiconv-prefix=${libiconv}"
   ];
 
-  doCheck = !stdenv.hostPlatform.isMusl;
+  doCheck = true;
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libunity/default.nix b/pkgs/development/libraries/libunity/default.nix
new file mode 100644
index 0000000000000..f9f0b2b655510
--- /dev/null
+++ b/pkgs/development/libraries/libunity/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchurl, pkgconfig, automake, autoconf, libtool
+, glib, vala, dee, gobjectIntrospection, libdbusmenu
+, gtk3, intltool, gnome-common, python3, icu }:
+
+stdenv.mkDerivation rec {
+  pname = "libunity";
+  version = "7.1.4";
+
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "https://launchpad.net/ubuntu/+archive/primary/+files/${pname}_${version}+15.10.20151002.orig.tar.gz";
+    sha256 = "1sf98qcjkxfibxk03firnc12dm6il8jzaq5763qam8ydg4li4gij";
+  };
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gnome-common
+    gobjectIntrospection
+    intltool
+    libtool
+    pkgconfig
+    python3
+    vala
+  ];
+
+  buildInputs = [
+    glib
+    gtk3
+  ];
+
+  propagatedBuildInputs = [ dee libdbusmenu ];
+
+  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
+
+  configureFlags = [
+    "--disable-static"
+    "--with-pygi-overrides-dir=$(out)/${python3.sitePackages}/gi/overrides"
+  ];
+
+  NIX_LDFLAGS = "-L${icu}/lib";
+
+  meta = with stdenv.lib; {
+    description = "A library for instrumenting and integrating with all aspects of the Unity shell";
+    homepage = https://launchpad.net/libunity;
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ worldofpeace ];
+  };
+}
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index b901d352808e9..6a32ccf5c1b14 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, xz }:
+{ stdenv, fetchurl, autoreconfHook, xz }:
 
 stdenv.mkDerivation rec {
   name = "libunwind-${version}";
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  doCheck = false; # fails
+
   meta = with stdenv.lib; {
     homepage = http://www.nongnu.org/libunwind;
     description = "A portable and efficient API to determine the call-chain of a program";
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index 85f8b6df2959d..58da13044523e 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "01pbg67qy5hcssy2yi0ckqapzfclgdq93li2rmzw4pa3wh5j42cw";
   };
 
-  nativeBuildInputs = stdenv.lib.optional doCheck perl;
+  checkInputs = [ perl ];
 
   preCheck = "patchShebangs tests/unit";
   doCheck = true;
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index 44638b4dfd590..69afd9d4c691c 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit }:
 
 stdenv.mkDerivation rec {
-  name = "libusb-1.0.21";
+  name = "libusb-1.0.22";
 
   src = fetchurl {
     url = "mirror://sourceforge/libusb/${name}.tar.bz2";
-    sha256 = "0jw2n5kdnrqvp7zh792fd6mypzzfap6jp4gfcmq4n6c1kb79rkkx";
+    sha256 = "0mw1a5ss4alg37m6bd4k44v35xwrcwp5qm4s686q1nsgkbavkbkm";
   };
 
   outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
diff --git a/pkgs/development/libraries/libusbmuxd/default.nix b/pkgs/development/libraries/libusbmuxd/default.nix
index 3e8beef3c9d0d..08aeba1254e53 100644
--- a/pkgs/development/libraries/libusbmuxd/default.nix
+++ b/pkgs/development/libraries/libusbmuxd/default.nix
@@ -1,24 +1,26 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, libplist }:
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libplist }:
 
 stdenv.mkDerivation rec {
-  name = "libusbmuxd-1.0.10";
-  src = fetchurl {
-    url = "http://www.libimobiledevice.org/downloads/${name}.tar.bz2";
-    sha256 = "1wn9zq2224786mdr12c5hxad643d29wg4z6b7jn888jx4s8i78hs";
-  };
+  pname = "libusbmuxd";
+  version = "2018-07-23";
+
+  name = "${pname}-${version}";
 
-  patches = [
-    (fetchpatch { # CVE-2016-5104
-      url = "https://github.com/libimobiledevice/libusbmuxd/commit/4397b3376dc4e4cb1c991d0aed61ce6482614196.patch";
-      sha256 = "0cl3vys7bkwbdzf64d0rz3zlqpfc30w4l7j49ljv01agh42ywhgk";
-    })
-  ];
+  src = fetchFromGitHub {
+    owner = "libimobiledevice";
+    repo = pname;
+    rev = "78df9be5fc8222ed53846cb553de9b5d24c85c6c";
+    sha256 = "05hbn0mbmv5ln9hfsvnf7i1mnp6ncbyfnl5w331kg4fi12wjshc5";
+  };
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libplist ];
 
-  meta = {
-    homepage = http://www.libimobiledevice.org;
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    description = "A client library to multiplex connections from and to iOS devices";
+    homepage    = https://github.com/libimobiledevice/libusbmuxd;
+    license     = licenses.lgpl21Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/libraries/libutempter/default.nix b/pkgs/development/libraries/libutempter/default.nix
index d54c82ae7f21f..f9703e3c59320 100644
--- a/pkgs/development/libraries/libutempter/default.nix
+++ b/pkgs/development/libraries/libutempter/default.nix
@@ -13,11 +13,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ glib ];
 
+  patches = [ ./exec_path.patch ];
+
   prePatch = ''
     substituteInPlace Makefile --replace 2711 0711
   '';
 
-  installFlags = [
+  makeFlags = [
     "libdir=\${out}/lib"
     "libexecdir=\${out}/lib"
     "includedir=\${out}/include"
@@ -26,6 +28,10 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Interface for terminal emulators such as screen and xterm to record user sessions to utmp and wtmp files";
+    longDescription = ''
+      The bundled utempter binary must be able to run as a user belonging to group utmp.
+      On NixOS systems, this can be achieved by creating a setguid wrapper.
+    '';
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.msteen ];
diff --git a/pkgs/development/libraries/libutempter/exec_path.patch b/pkgs/development/libraries/libutempter/exec_path.patch
new file mode 100644
index 0000000000000..bd5f56611ef91
--- /dev/null
+++ b/pkgs/development/libraries/libutempter/exec_path.patch
@@ -0,0 +1,25 @@
+diff -ur libutempter-1.1.6/iface.c libutempter-1.1.6.patched/iface.c
+--- libutempter-1.1.6/iface.c	2010-11-04 18:14:53.000000000 +0100
++++ libutempter-1.1.6.patched/iface.c	2018-06-06 15:09:11.417755549 +0200
+@@ -60,9 +60,9 @@
+ 		_exit(EXIT_FAILURE);
+ 	}
+ 
+-	execv(path, argv);
++	execvp(path, argv);
+ #ifdef	UTEMPTER_DEBUG
+-	fprintf(stderr, "libutempter: execv: %s\n", strerror(errno));
++	fprintf(stderr, "libutempter: execvp: %s\n", strerror(errno));
+ #endif
+ 
+ 	while (EACCES == errno)
+@@ -79,7 +79,7 @@
+ 		if (setgid(sgid))
+ 			break;
+ 
+-		(void) execv(path, argv);
++		(void) execvp(path, argv);
+ 		break;
+ 	}
+ 
+Only in libutempter-1.1.6.patched: result
diff --git a/pkgs/development/libraries/libuv/default.nix b/pkgs/development/libraries/libuv/default.nix
index e8877c7f54b6c..9ee934cd78bbb 100644
--- a/pkgs/development/libraries/libuv/default.nix
+++ b/pkgs/development/libraries/libuv/default.nix
@@ -1,17 +1,23 @@
-{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, pkgconfig
-, ApplicationServices, CoreServices }:
+{ stdenv, lib, fetchpatch, fetchFromGitHub, autoconf, automake, libtool, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  version = "1.19.2";
+  version = "1.23.0";
   name = "libuv-${version}";
 
   src = fetchFromGitHub {
     owner = "libuv";
     repo = "libuv";
     rev = "v${version}";
-    sha256 = "118r8wigm65107fm7kzfz7gc4awy8xxg0knvwnshx1j40ks08x9z";
+    sha256 = "1yfx99f7qnq3qvcgbnih27dgwfg6c51xw6n6n2c3c1wb3mh95im0";
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/libuv/libuv/commit/1a5d4f08238dd532c3718e210078de1186a5920d.patch";
+      sha256 = "1s2692h4dvqnzwwicrkpj0zph1i2bhv39w31z5vh7ssgvykaradj";
+    })
+  ];
+
   postPatch = let
     toDisable = [
       "getnameinfo_basic" "udp_send_hang_loop" # probably network-dependent
@@ -19,15 +25,29 @@ stdenv.mkDerivation rec {
       "getaddrinfo_fail" "getaddrinfo_fail_sync"
       "threadpool_multiple_event_loops" # times out on slow machines
     ]
-      # sometimes: timeout (no output), failed uv_listen
-      ++ stdenv.lib.optionals stdenv.isDarwin [ "process_title" "emfile" ];
+      # Sometimes: timeout (no output), failed uv_listen. Someone
+      # should report these failures to libuv team. There tests should
+      # be much more robust.
+      ++ stdenv.lib.optionals stdenv.isDarwin [
+        "process_title" "emfile" "poll_duplex" "poll_unidirectional"
+        "ipc_listen_before_write" "ipc_listen_after_write" "ipc_tcp_connection"
+        "tcp_alloc_cb_fail" "tcp_ping_pong" "tcp_ref3" "tcp_ref4"
+        "tcp_bind6_error_inval" "tcp_bind6_error_addrinuse" "tcp_read_stop"
+        "tcp_unexpected_read" "tcp_write_to_half_open_connection"
+        "tcp_oob" "tcp_close_accept" "tcp_create_early_accept"
+        "tcp_create_early" "tcp_close" "tcp_bind_error_inval"
+        "tcp_bind_error_addrinuse" "tcp_shutdown_after_write"
+        "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"
+      ];
     tdRegexp = lib.concatStringsSep "\\|" toDisable;
     in lib.optionalString doCheck ''
       sed '/${tdRegexp}/d' -i test/test-list.h
     '';
 
   nativeBuildInputs = [ automake autoconf libtool pkgconfig ];
-  buildInputs = stdenv.lib.optionals stdenv.isDarwin [ ApplicationServices CoreServices ];
 
   preConfigure = ''
     LIBTOOLIZE=libtoolize ./autogen.sh
@@ -35,10 +55,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  # These should be turned back on, but see https://github.com/NixOS/nixpkgs/issues/23651
-  # For now the tests are just breaking large swaths of the nixpkgs binary cache for Darwin,
-  # and I'd rather have everything else work at all than have stronger assurance here.
-  doCheck = !stdenv.isDarwin;
+  doCheck = true;
 
   meta = with lib; {
     description = "A multi-platform support library with a focus on asynchronous I/O";
diff --git a/pkgs/development/libraries/libva-utils/default.nix b/pkgs/development/libraries/libva-utils/default.nix
index 95d4be08548ac..6868e5c8cfa9c 100644
--- a/pkgs/development/libraries/libva-utils/default.nix
+++ b/pkgs/development/libraries/libva-utils/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig
 , libdrm, libva
 }:
 
diff --git a/pkgs/development/libraries/libva/1.0.0.nix b/pkgs/development/libraries/libva/1.0.0.nix
index 031ac781651c0..097ac0e3e98e6 100644
--- a/pkgs/development/libraries/libva/1.0.0.nix
+++ b/pkgs/development/libraries/libva/1.0.0.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, libX11, pkgconfig, libXext, libdrm, libXfixes, wayland, libffi
-, mesa_noglu
-, minimal ? true, libva
+, libGL, libGL_driver
+, minimal ? false, libva1-minimal
 }:
 
 stdenv.mkDerivation rec {
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "1.7.3";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
+    url = "https://www.freedesktop.org/software/vaapi/releases/libva/${name}.tar.bz2";
     sha256 = "1ndrf136rlw03xag7j1xpmf9015d1h0dpnv6v587jnh6k2a17g12";
   };
 
@@ -17,11 +17,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ libdrm ]
-    ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi mesa_noglu ];
+    ++ lib.optionals (!minimal) [ libva1-minimal libX11 libXext libXfixes wayland libffi libGL ];
   # TODO: share libs between minimal and !minimal - perhaps just symlink them
 
   configureFlags =
-    [ "--with-drivers-path=${mesa_noglu.driverLink}/lib/dri" ] ++
+    # Add FHS paths for non-NixOS applications.
+    [ "--with-drivers-path=${libGL_driver.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri" ] ++
     lib.optionals (!minimal) [ "--enable-glx" ];
 
   installFlags = [ "dummy_drv_video_ladir=$(out)/lib/dri" ];
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 6b8c3631fb370..0ba49da06cfed 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -1,11 +1,11 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, pkgconfig
 , libXext, libdrm, libXfixes, wayland, libffi, libX11
-, libGL
-, minimal ? true, libva
+, libGL, libGL_driver
+, minimal ? false, libva-minimal
 }:
 
 stdenv.mkDerivation rec {
-  name = "libva-${lib.optionalString (!minimal) "full-"}${version}";
+  name = "libva-${lib.optionalString minimal "minimal-"}${version}";
   version = "2.1.0";
 
   # update libva-utils and vaapiIntel as well
@@ -21,13 +21,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   buildInputs = [ libdrm ]
-    ++ lib.optionals (!minimal) [ libva libX11 libXext libXfixes wayland libffi libGL ];
+    ++ lib.optionals (!minimal) [ libva-minimal libX11 libXext libXfixes wayland libffi libGL ];
   # TODO: share libs between minimal and !minimal - perhaps just symlink them
 
   enableParallelBuilding = true;
 
   configureFlags = [
-    "--with-drivers-path=${libGL.driverLink}/lib/dri"
+    # Add FHS paths for non-NixOS applications.
+    "--with-drivers-path=${libGL_driver.driverLink}/lib/dri:/usr/lib/dri:/usr/lib32/dri"
   ] ++ lib.optionals (!minimal) [ "--enable-glx" ];
 
   installFlags = [
diff --git a/pkgs/development/libraries/libvdpau-va-gl/default.nix b/pkgs/development/libraries/libvdpau-va-gl/default.nix
index 3ea0155b4f42a..50b995a035686 100644
--- a/pkgs/development/libraries/libvdpau-va-gl/default.nix
+++ b/pkgs/development/libraries/libvdpau-va-gl/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ libX11 libpthreadstubs libXau libXdmcp libXext libvdpau glib libva ffmpeg libGLU ];
 
+  doCheck = false; # fails. needs DRI access
+
   meta = with stdenv.lib; {
     homepage = https://github.com/i-rinat/libvdpau-va-gl;
     description = "VDPAU driver with OpenGL/VAAPI backend";
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index eebdc29419741..35c339b45d09f 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, xorg, libGL }:
+{ stdenv, fetchurl, pkgconfig, xorg, libGL_driver }:
 
 stdenv.mkDerivation rec {
-  name = "libvdpau-1.1.1";
+  name = "libvdpau-${version}";
+  version = "1.1.1";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~aplattner/vdpau/${name}.tar.bz2";
@@ -16,7 +17,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ xorg.libX11 ];
 
   configureFlags = stdenv.lib.optional stdenv.isLinux
-    "--with-module-dir=${libGL.driverLink}/lib/vdpau";
+    "--with-module-dir=${libGL_driver.driverLink}/lib/vdpau";
 
   installFlags = [ "moduledir=$(out)/lib/vdpau" ];
 
diff --git a/pkgs/development/libraries/libversion/default.nix b/pkgs/development/libraries/libversion/default.nix
new file mode 100644
index 0000000000000..6e7005195bf0f
--- /dev/null
+++ b/pkgs/development/libraries/libversion/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake }:
+
+let
+  version = "2.6.0";
+in
+stdenv.mkDerivation {
+  name = "libversion-${version}";
+
+  src = fetchFromGitHub {
+    owner = "repology";
+    repo = "libversion";
+    rev = version;
+    sha256 = "0krhfycva3l4rhac5kx6x1a6fad594i9i77vy52rwn37j62bm601";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  doCheck = true;
+  checkTarget = "test";
+
+  meta = with stdenv.lib; {
+    description = "Advanced version string comparison library";
+    homepage = https://github.com/repology/libversion;
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ ryantm ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index 0dbe30251bdd6..2d83955de6962 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "http://libvirt.org/sources/glib/${name}.tar.gz";
+    url = "https://libvirt.org/sources/glib/${name}.tar.gz";
     sha256 = "0iwa5sdbii52pjpdm5j37f67sdmf0kpcky4liwhy1nf43k85i4fa";
   };
 
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 7262ca541f017..fd35864fe343e 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -1,10 +1,12 @@
 { stdenv, fetchurl, fetchgit
 , pkgconfig, makeWrapper, libtool, autoconf, automake
-, coreutils, libxml2, gnutls, devicemapper, perl, python2, attr
+, coreutils, libxml2, gnutls, perl, python2, attr
 , iproute, iptables, readline, lvm2, utillinux, systemd, libpciaccess, gettext
 , libtasn1, ebtables, libgcrypt, yajl, pmutils, libcap_ng, libapparmor
 , dnsmasq, libnl, libpcap, libxslt, xhtml1, numad, numactl, perlPackages
-, curl, libiconv, gmp, xen, zfs, parted, bridge-utils, dmidecode
+, curl, libiconv, gmp, zfs, parted, bridge-utils, dmidecode
+, enableXen ? false, xen ? null
+, enableIscsi ? false, openiscsi
 }:
 
 with stdenv.lib;
@@ -14,19 +16,19 @@ let
   buildFromTarball = stdenv.isDarwin;
 in stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "4.1.0";
+  version = "4.5.0";
 
   src =
     if buildFromTarball then
       fetchurl {
         url = "http://libvirt.org/sources/${name}.tar.xz";
-        sha256 = "0fb466mcma21hsxx3cckllbr9hhncpbwim5px1mr66iidy1a8bwa";
+        sha256 = "02dbfyi80im37gdsxglb4fja78q63b8ahmgdc5kh8lx51kf5xsg7";
       }
     else
       fetchgit {
         url = git://libvirt.org/libvirt.git;
         rev = "v${version}";
-        sha256 = "01021r7i71dw9w7ffp6ia8h70ns6bc0ps5np0hq9nipxs68finm6";
+        sha256 = "0ija9a02znajsa2pbxamrmz87zwpmba9s29vdzzqqqw5c1rdpcr6";
         fetchSubmodules = true;
       };
 
@@ -37,10 +39,12 @@ in stdenv.mkDerivation rec {
   ] ++ optionals (!buildFromTarball) [
     libtool autoconf automake
   ] ++ optionals stdenv.isLinux [
-    libpciaccess devicemapper lvm2 utillinux systemd libnl numad zfs
+    libpciaccess lvm2 utillinux systemd libnl numad zfs
     libapparmor libcap_ng numactl attr parted
-  ] ++ optionals (stdenv.isLinux && stdenv.isx86_64) [
+  ] ++ optionals (enableXen && stdenv.isLinux && stdenv.isx86_64) [
     xen
+  ] ++ optionals enableIscsi [
+    openiscsi
   ] ++ optionals stdenv.isDarwin [
     libiconv gmp
   ];
@@ -48,7 +52,7 @@ in stdenv.mkDerivation rec {
   preConfigure = ''
     ${ optionalString (!buildFromTarball) "./bootstrap --no-git --gnulib-srcdir=$(pwd)/.gnulib" }
 
-    PATH=${stdenv.lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute iptables ebtables lvm2 systemd numad ])}:$PATH
+    PATH=${stdenv.lib.makeBinPath ([ dnsmasq ] ++ optionals stdenv.isLinux [ iproute iptables ebtables lvm2 systemd numad ] ++ optionals enableIscsi [ openiscsi ])}:$PATH
 
     # the path to qemu-kvm will be stored in VM's .xml and .save files
     # do not use "''${qemu_kvm}/bin/qemu-kvm" to avoid bound VMs to particular qemu derivations
@@ -62,6 +66,7 @@ in stdenv.mkDerivation rec {
     "--localstatedir=/var"
     "--sysconfdir=/var/lib"
     "--with-libpcap"
+    "--with-qemu"
     "--with-vmware"
     "--with-vbox"
     "--with-test"
@@ -78,6 +83,8 @@ in stdenv.mkDerivation rec {
     "--with-storage-disk"
   ] ++ optionals (stdenv.isLinux && zfs != null) [
     "--with-storage-zfs"
+  ] ++ optionals enableIscsi [
+    "--with-storage-iscsi"
   ] ++ optionals stdenv.isDarwin [
     "--with-init-script=none"
   ];
@@ -87,7 +94,10 @@ in stdenv.mkDerivation rec {
     "sysconfdir=$(out)/var/lib"
   ];
 
-  postInstall = ''
+
+  postInstall = let
+    binPath = [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ] ++ optionals enableIscsi [ openiscsi ];
+  in ''
     substituteInPlace $out/libexec/libvirt-guests.sh \
       --replace 'ON_SHUTDOWN=suspend' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
       --replace "$out/bin"            '${gettext}/bin' \
@@ -100,7 +110,7 @@ in stdenv.mkDerivation rec {
     substituteInPlace $out/lib/systemd/system/libvirtd.service --replace /bin/kill ${coreutils}/bin/kill
     rm $out/lib/systemd/system/{virtlockd,virtlogd}.*
     wrapProgram $out/sbin/libvirtd \
-      --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath [ iptables iproute pmutils numad numactl bridge-utils dmidecode dnsmasq ebtables ]}
+      --prefix PATH : /run/libvirt/nix-emulators:${makeBinPath binPath}
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libvmi/default.nix b/pkgs/development/libraries/libvmi/default.nix
new file mode 100644
index 0000000000000..28cfe56d59b89
--- /dev/null
+++ b/pkgs/development/libraries/libvmi/default.nix
@@ -0,0 +1,43 @@
+{ stdenv,
+  fetchFromGitHub,
+  autoreconfHook,
+  bison,
+  flex,
+  glib,
+  pkgconfig,
+  json_c,
+  xen,
+  libvirt,
+  xenSupport ? true }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "libvmi-${version}";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "libvmi";
+    repo = "libvmi";
+    rev = "v${version}";
+    sha256 = "0wbi2nasb1gbci6cq23g6kq7i10rwi1y7r44rl03icr5prqjpdyv";
+  };
+
+  buildInputs = [ glib libvirt json_c ] ++ (optional xenSupport xen);
+  nativeBuildInputs = [ autoreconfHook bison flex pkgconfig ];
+
+  configureFlags = optional (!xenSupport) "--disable-xen";
+
+  meta = with stdenv.lib; {
+    homepage = "http://libvmi.com/";
+    description = "A C library for virtual machine introspection";
+    longDescription = ''
+      LibVMI is a C library with Python bindings that makes it easy to monitor the low-level
+      details of a running virtual machine by viewing its memory, trapping on hardware events,
+      and accessing the vCPU registers.
+    '';
+    license = with licenses; [ gpl3 lgpl3 ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ lschuermann ];
+  };
+}
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index 2f9bca5ed95fc..5457b1075a3e5 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -16,6 +16,11 @@ stdenv.mkDerivation rec {
       sha256 = "0v21p59cb3z77ch1v6q5dcrd733h91f3m8ifnd7kkkr8gzn17d5x";
       name = "CVE-2017-14160";
     })
+    (fetchpatch {
+      url = "https://gitlab.xiph.org/xiph/vorbis/commit/112d3bd0aaa.diff";
+      sha256 = "1k77y3q36npy8mkkz40f6cb46l2ldrwyrd191m29s8rnbhnafdf7";
+      name = "CVE-2018-10392.patch";
+    })
   ];
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 1e96ff9bb1ade..515aa25374434 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -33,7 +33,6 @@
 , temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
 , coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
 , vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
-, experimentalSupport ? false # experimental features
 # Experimental features
 , experimentalSpatialSvcSupport ? false # Spatial scalable video coding
 , experimentalFpMbStatsSupport ? false
@@ -41,7 +40,7 @@
 }:
 
 let
-  inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin;
+  inherit (stdenv) is64bit isMips isDarwin isCygwin;
   inherit (stdenv.lib) enableFeature optional optionals;
 in
 
@@ -58,13 +57,13 @@ assert isCygwin -> unitTestsSupport && webmIOSupport && libyuvSupport;
 
 stdenv.mkDerivation rec {
   name = "libvpx-${version}";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "webmproject";
     repo = "libvpx";
     rev = "v${version}";
-    sha256 = "10fs7xilf2bsj5bqw206lb5r5dgl84p5m6nibiirk28lmjx1i3l0";
+    sha256 = "0vvh89hvp8qg9an9vcmwb7d9k3nixhxaz6zi65qdjnd0i56kkcz6";
   };
 
   patchPhase = ''patchShebangs .'';
@@ -72,6 +71,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
 
+  configurePlatforms = [];
   configureFlags = [
     (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
     (enableFeature vp8EncoderSupport "vp8-encoder")
@@ -131,8 +131,29 @@ stdenv.mkDerivation rec {
     (enableFeature (experimentalSpatialSvcSupport ||
                     experimentalFpMbStatsSupport ||
                     experimentalEmulateHardwareSupport) "experimental")
-    # Experimental features
-  ] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
+    #"--extra-cflags="
+    #"--extra-cxxflags="
+    #"--prefix="
+    #"--libc="
+    #"--libdir="
+    "--enable-external-build"
+    # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
+    # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
+    # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
+    "--force-target=${hostPlatform.config}${
+            if hostPlatform.isDarwin then
+              if      hostPlatform.osxMinVersion == "10.10" then "14"
+              else if hostPlatform.osxMinVersion == "10.9"  then "13"
+              else if hostPlatform.osxMinVersion == "10.8"  then "12"
+              else if hostPlatform.osxMinVersion == "10.7"  then "11"
+              else if hostPlatform.osxMinVersion == "10.6"  then "10"
+              else if hostPlatform.osxMinVersion == "10.5"  then "9"
+              else "8"
+            else ""}-gcc"
+    (if hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
+  ] # Experimental features
+    ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
     ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
     ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
 
@@ -145,32 +166,6 @@ stdenv.mkDerivation rec {
 
   postInstall = ''moveToOutput bin "$bin" '';
 
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
-      #"--extra-cflags="
-      #"--extra-cxxflags="
-      #"--prefix="
-      #"--libc="
-      #"--libdir="
-      "--enable-external-build"
-      # libvpx darwin targets include darwin version (ie. ARCH-darwinXX-gcc, XX being the darwin version)
-      # See all_platforms: https://github.com/webmproject/libvpx/blob/master/configure
-      # Darwin versions: 10.4=8, 10.5=9, 10.6=10, 10.7=11, 10.8=12, 10.9=13, 10.10=14
-      "--force-target=${hostPlatform.config}${
-              if hostPlatform.isDarwin then
-                if      hostPlatform.osxMinVersion == "10.10" then "14"
-                else if hostPlatform.osxMinVersion == "10.9"  then "13"
-                else if hostPlatform.osxMinVersion == "10.8"  then "12"
-                else if hostPlatform.osxMinVersion == "10.7"  then "11"
-                else if hostPlatform.osxMinVersion == "10.6"  then "10"
-                else if hostPlatform.osxMinVersion == "10.5"  then "9"
-                else "8"
-              else ""}-gcc"
-      (if hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
-    ];
-  };
-
   meta = with stdenv.lib; {
     description = "WebM VP8/VP9 codec SDK";
     homepage    = https://www.webmproject.org/;
diff --git a/pkgs/development/libraries/libvpx/git.nix b/pkgs/development/libraries/libvpx/git.nix
index ef499f238d63a..fb7f828f61f05 100644
--- a/pkgs/development/libraries/libvpx/git.nix
+++ b/pkgs/development/libraries/libvpx/git.nix
@@ -35,7 +35,6 @@
 , temporalDenoisingSupport ? true # use temporal denoising instead of spatial denoising
 , coefficientRangeCheckingSupport ? false # decoder checks if intermediate transform coefficients are in valid range
 , vp9HighbitdepthSupport ? true # 10/12 bit color support in VP9
-, experimentalSupport ? false # experimental features
 # Experimental features
 , experimentalSpatialSvcSupport ? false # Spatial scalable video coding
 , experimentalFpMbStatsSupport ? false
@@ -43,11 +42,11 @@
 }:
 
 let
-  inherit (stdenv) isi686 isx86_64 isArm is64bit isMips isDarwin isCygwin;
+  inherit (stdenv) isi686 isx86_64 isAarch32 is64bit isMips isDarwin isCygwin;
   inherit (stdenv.lib) enableFeature optional optionals;
 in
 
-assert isi686 || isx86_64 || isArm || isMips; # Requires ARM with floating point support
+assert isi686 || isx86_64 || isAarch32 || isMips; # Requires ARM with floating point support
 
 assert vp8DecoderSupport || vp8EncoderSupport || vp9DecoderSupport || vp9EncoderSupport;
 assert internalStatsSupport && (vp9DecoderSupport || vp9EncoderSupport) -> postprocSupport;
@@ -77,6 +76,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
 
+  configurePlatforms = [];
   configureFlags = [
     (enableFeature (vp8EncoderSupport || vp8DecoderSupport) "vp8")
     (enableFeature vp8EncoderSupport "vp8-encoder")
@@ -139,23 +139,7 @@ stdenv.mkDerivation rec {
     (enableFeature (experimentalSpatialSvcSupport ||
                     experimentalFpMbStatsSupport ||
                     experimentalEmulateHardwareSupport) "experimental")
-    # Experimental features
-  ] ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
-    ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
-    ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
-
-  nativeBuildInputs = [ perl yasm ];
-
-  buildInputs = [ ]
-    ++ optionals unitTestsSupport [ coreutils curl ];
-
-  enableParallelBuilding = true;
-
-  postInstall = ''moveToOutput bin "$bin" '';
-
-  crossAttrs = {
-    configurePlatforms = [];
-    configureFlags = configureFlags ++ [
+  ] ++ optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
       #"--extra-cflags="
       #"--prefix="
       #"--libc="
@@ -175,8 +159,19 @@ stdenv.mkDerivation rec {
                 else "8"
               else ""}-gcc"
       (if hostPlatform.isCygwin then "--enable-static-msvcrt" else "")
-    ];
-  };
+  ] # Experimental features
+    ++ optional experimentalSpatialSvcSupport "--enable-spatial-svc"
+    ++ optional experimentalFpMbStatsSupport "--enable-fp-mb-stats"
+    ++ optional experimentalEmulateHardwareSupport "--enable-emulate-hardware";
+
+  nativeBuildInputs = [ perl yasm ];
+
+  buildInputs = [ ]
+    ++ optionals unitTestsSupport [ coreutils curl ];
+
+  enableParallelBuilding = true;
+
+  postInstall = ''moveToOutput bin "$bin" '';
 
   meta = with stdenv.lib; {
     description = "WebM VP8/VP9 codec SDK";
diff --git a/pkgs/development/libraries/libvterm-neovim/default.nix b/pkgs/development/libraries/libvterm-neovim/default.nix
new file mode 100644
index 0000000000000..4e0e87c19a97a
--- /dev/null
+++ b/pkgs/development/libraries/libvterm-neovim/default.nix
@@ -0,0 +1,33 @@
+{ stdenv
+, fetchFromGitHub
+, perl
+, libtool
+}:
+
+stdenv.mkDerivation rec {
+  name = "neovim-libvterm-${version}";
+  version = "2017-11-05";
+
+  src = fetchFromGitHub {
+    owner = "neovim";
+    repo = "libvterm";
+    rev = "4ca7ebf7d25856e90bc9d9cc49412e80be7c4ea8";
+    sha256 = "05kyvvz8af90mvig11ya5xd8f4mbvapwyclyrihm9lwas706lzf6";
+  };
+
+  buildInputs = [ perl ];
+  nativeBuildInputs = [ libtool ];
+
+  makeFlags = [ "PREFIX=$(out)" ]
+    ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "VT220/xterm/ECMA-48 terminal emulator library";
+    homepage = http://www.leonerd.org.uk/code/libvterm/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ garbas ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index 8e36edff7edda..cc3f19ab7d31c 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libwacom-${version}";
-  version = "0.28";
+  version = "0.29";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2";
-    sha256 = "1vv768870597rvwxdb59v6pjn1pxaxg4r6znbb5j3cl828q35mp7";
+    sha256 = "1diklgcjhmvcxi9p1ifp6wcnyr6k7z9jhrlzfhzjqd6zipk01slw";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libwebp/default.nix b/pkgs/development/libraries/libwebp/default.nix
index f7d4fc3b3675a..8cd0536e29461 100644
--- a/pkgs/development/libraries/libwebp/default.nix
+++ b/pkgs/development/libraries/libwebp/default.nix
@@ -27,11 +27,11 @@ in
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libwebp-${version}";
-  version = "0.6.1";
+  version = "1.0.0";
 
   src = fetchurl {
     url = "http://downloads.webmproject.org/releases/webp/${name}.tar.gz";
-    sha256 = "1ayq2zq0zbgf5yizbm32zh7p1vb8kibw74am6am1n5cz5mw3ql06";
+    sha256 = "0nr2hd4iv61fphdbx49g96a56jkmdm9n2qss7jpkg1pii11rq9c4";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libwebsockets/default.nix b/pkgs/development/libraries/libwebsockets/default.nix
index 3bc04f9ae3db1..1147c9606ad4d 100644
--- a/pkgs/development/libraries/libwebsockets/default.nix
+++ b/pkgs/development/libraries/libwebsockets/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libwebsockets-${version}";
-  version = "2.4.2";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "warmcat";
     repo = "libwebsockets";
     rev = "v${version}";
-    sha256 = "0gbprzsi054f9gr31ihcf0cq7zfkybrmdp6894pmzb5hcv4wnh9i";
+    sha256 = "0cz4f05qd9b2bm27h5pkwym2cl7ff73lgirzwjppwf9b18if58yv";
   };
 
   buildInputs = [ cmake openssl zlib libuv ];
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 937fa28b90285..8efd908584e1b 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -19,8 +19,8 @@ in stdenv.mkDerivation rec{
   nativeBuildInputs = [ pkgconfig intltool gobjectIntrospection ];
   propagatedBuildInputs = [ libX11 gtk3 ];
 
-  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "share/gir-1.0";
-  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "lib/girepository-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_GIRDIR = "$(dev)/share/gir-1.0";
+  PKG_CONFIG_GOBJECT_INTROSPECTION_1_0_TYPELIBDIR = "$(out)/lib/girepository-1.0";
 
   passthru = {
     updateScript = gnome3.updateScript {
diff --git a/pkgs/development/libraries/libwps/default.nix b/pkgs/development/libraries/libwps/default.nix
index 84748d601a64e..b0449d8205d1c 100644
--- a/pkgs/development/libraries/libwps/default.nix
+++ b/pkgs/development/libraries/libwps/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libwps-${version}";
-  version = "0.4.8";
+  version = "0.4.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/libwps/${name}.tar.bz2";
-    sha256 = "163gdqaanqfs767aj6zdzagqldngn8i7f0hbmhhxlxr0wmvx6c9q";
+    sha256 = "1adx2wawl0i16p8df80m6k6a137h709ip4zc0zlzr6wal8gpn0i4";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libx86/default.nix b/pkgs/development/libraries/libx86/default.nix
index d73d67a39cf26..d56c20cb75afd 100644
--- a/pkgs/development/libraries/libx86/default.nix
+++ b/pkgs/development/libraries/libx86/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libx86-${version}";
   version = "1.1";
   src = fetchurl {
-    url = "http://www.codon.org.uk/~mjg59/libx86/downloads/${name}.tar.gz";
+    url = "https://www.codon.org.uk/~mjg59/libx86/downloads/${name}.tar.gz";
     sha256 = "0j6h6bc02c6qi0q7c1ncraz4d1hkm5936r35rfsp4x1jrc233wav";
   };
   patches = [./constants.patch ./non-x86.patch ];
diff --git a/pkgs/development/libraries/libx86emu/default.nix b/pkgs/development/libraries/libx86emu/default.nix
index b745098bd64b9..b0730452db890 100644
--- a/pkgs/development/libraries/libx86emu/default.nix
+++ b/pkgs/development/libraries/libx86emu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libx86emu-${version}";
-  version = "1.12";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "wfeldt";
     repo = "libx86emu";
     rev = version;
-    sha256 = "0dlzvwdkk0vc6qf0a0zzbxki3pig1mda8p3fa54rxqaxkwp4mqr6";
+    sha256 = "12rlkwnl5zgmmpm6n6cqnkyhkji4jw1d27y8x1krvlpi1z4bjidx";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/libxc/default.nix b/pkgs/development/libraries/libxc/default.nix
index 67ec3b57fa770..1293b0af8ccef 100644
--- a/pkgs/development/libraries/libxc/default.nix
+++ b/pkgs/development/libraries/libxc/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, gfortran, perl }:
 
 let
-  version = "3.0.1";
+  version = "4.2.3";
 
 in stdenv.mkDerivation {
   name = "libxc-${version}";
   src = fetchurl {
     url = "http://www.tddft.org/programs/octopus/down.php?file=libxc/${version}/libxc-${version}.tar.gz";
-    sha256 = "1xyac89yx03vm86rvk07ps1d39xss3amw46a1k53mv30mgr94rl3";
+    sha256 = "0mj26jga0nj76blf2rp9cmgf0v0yhsp7xrg92zgih7fjlydrxr02";
   };
 
   buildInputs = [ gfortran ];
diff --git a/pkgs/development/libraries/libxcomp/default.nix b/pkgs/development/libraries/libxcomp/default.nix
index 7ed2d2fd6300e..b4ad501c2efe7 100644
--- a/pkgs/development/libraries/libxcomp/default.nix
+++ b/pkgs/development/libraries/libxcomp/default.nix
@@ -1,19 +1,20 @@
-{ stdenv, fetchurl, autoreconfHook, libjpeg, libpng, libX11, zlib }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, libjpeg, libpng, libX11, zlib }:
 
 stdenv.mkDerivation rec {
   name = "libxcomp-${version}";
-  version = "3.5.0.33";
+  version = "3.5.99.16";
 
   src = fetchurl {
-    sha256 = "17qjsd6v2ldpfmyjrkdnlq4qk05hz5l6qs54g8h0glzq43w28f74";
-    url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz";
+    sha256 = "1m3z9w3h6qpgk265xf030w7lcs181jgw2cdyzshb7l97mn1f7hh2";
+    url = "https://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz";
   };
 
   buildInputs = [ libjpeg libpng libX11 zlib ];
-  nativeBuildInputs = [ autoreconfHook ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
   preAutoreconf = ''
     cd nxcomp/
+    sed -i 's|/src/.libs/libXcomp.a|/src/.libs/libXcomp.la|' test/Makefile.am
   '';
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index faeed680f3d61..3e0a2872c005b 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     "-Dx-locale-root=${libX11.out}/share/X11/locale"
   ];
 
+  doCheck = false; # fails, needs unicode locale
+
   meta = with stdenv.lib; {
     description = "A library to handle keyboard descriptions";
     homepage = https://xkbcommon.org;
diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix
index 1150d04e1b491..263796cdc783b 100644
--- a/pkgs/development/libraries/libxklavier/default.nix
+++ b/pkgs/development/libraries/libxklavier/default.nix
@@ -1,15 +1,16 @@
-{ stdenv, fetchurl, pkgconfig, xkeyboard_config, libxml2, xorg
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, gtk-doc, xkeyboard_config, libxml2, xorg, docbook_xsl
 , glib, isocodes, gobjectIntrospection }:
 
 let
-  version = "5.3";
+  version = "5.4";
 in
 stdenv.mkDerivation rec {
   name = "libxklavier-${version}";
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/libxklavier/${version}/${name}.tar.xz";
-    sha256 = "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b";
+  src = fetchgit {
+    url = "git://anongit.freedesktop.org/git/libxklavier";
+    rev = name;
+    sha256 = "1w1x5mrgly2ldiw3q2r6y620zgd89gk7n90ja46775lhaswxzv7a";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -17,14 +18,20 @@ stdenv.mkDerivation rec {
   # TODO: enable xmodmap support, needs xmodmap DB
   propagatedBuildInputs = with xorg; [ libX11 libXi xkeyboard_config libxml2 libICE glib libxkbfile isocodes ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ autoreconfHook pkgconfig gtk-doc docbook_xsl ];
 
   buildInputs = [ gobjectIntrospection ];
 
+  preAutoreconf = ''
+    export NOCONFIGURE=1
+    gtkdocize
+  '';
+
   configureFlags = [
     "--with-xkb-base=${xkeyboard_config}/etc/X11/xkb"
     "--with-xkb-bin-base=${xorg.xkbcomp}/bin"
     "--disable-xmodmap-support"
+    "--enable-gtk-doc"
   ];
 
   meta = with stdenv.lib; {
@@ -34,4 +41,3 @@ stdenv.mkDerivation rec {
     platforms = platforms.linux;
   };
 }
-
diff --git a/pkgs/development/libraries/libxmi/default.nix b/pkgs/development/libraries/libxmi/default.nix
index 46d38b16ccf10..81c5b5e2891b2 100644
--- a/pkgs/development/libraries/libxmi/default.nix
+++ b/pkgs/development/libraries/libxmi/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     description = "Library for rasterizing 2-D vector graphics";
     homepage = http://www.gnu.org/software/libxmi/;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.gnu;  # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;  # arbitrary choice
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index c4f3ff1efdd53..2f0f0f1425d18 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -1,8 +1,10 @@
 { stdenv, lib, fetchurl, fetchpatch
-, zlib, xz, python2, findXMLCatalogs, libiconv
+, zlib, xz, python2, findXMLCatalogs
 , buildPlatform, hostPlatform
 , pythonSupport ? buildPlatform == hostPlatform
 , icuSupport ? false, icu ? null
+, enableShared ? hostPlatform.libc != "msvcrt"
+, enableStatic ? !enableShared,
 }:
 
 let
@@ -10,15 +12,29 @@ let
 
 in stdenv.mkDerivation rec {
   name = "libxml2-${version}";
-  version = "2.9.7";
+  version = "2.9.8";
 
   src = fetchurl {
     url = "http://xmlsoft.org/sources/${name}.tar.gz";
-    sha256 = "034hylzspvkm0p4bczqbf8q05a7r2disr8dz725x4bin61ymwg7n";
+    sha256 = "0ci7is75bwqqw2p32vxvrk6ds51ik7qgx73m920rakv5jlayax0b";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-14567_CVE-2018-9251.patch";
+      url = https://gitlab.gnome.org/GNOME/libxml2/commit/2240fbf5912054af025fb6e01e26375100275e74.patch;
+      sha256 = "1xpqsfkzhrqasza51c821mnds5l317djrz8086fmzpyf68vld03h";
+    })
+    (fetchpatch {
+      name = "CVE-2018-14404.patch";
+      url = https://gitlab.gnome.org/GNOME/libxml2/commit/a436374994c47b12d5de1b8b1d191a098fa23594.patch;
+      sha256 = "19vp7p32vrninnfa7vk9ipw7n4cl1gg16xxbhjy2d0kwp1crvzqh";
+    })
+  ];
+
   outputs = [ "bin" "dev" "out" "man" "doc" ]
-    ++ lib.optional pythonSupport "py";
+    ++ lib.optional pythonSupport "py"
+    ++ lib.optional enableStatic "static";
   propagatedBuildOutputs = "out bin" + lib.optionalString pythonSupport " py";
 
   buildInputs = lib.optional pythonSupport python
@@ -29,25 +45,19 @@ in stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ zlib findXMLCatalogs ] ++ lib.optional icuSupport icu;
 
-  configureFlags =
-       lib.optional pythonSupport "--with-python=${python}"
-    ++ lib.optional icuSupport    "--with-icu"
-    ++ [ "--exec_prefix=$dev" ];
+  configureFlags = [
+    "--exec_prefix=$dev"
+    (lib.enableFeature enableStatic "static")
+    (lib.enableFeature enableShared "shared")
+    (lib.withFeature icuSupport "icu")
+    (lib.withFeatureAs pythonSupport "python" python)
+  ];
 
   enableParallelBuilding = true;
 
   doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin &&
     hostPlatform.libc != "musl";
 
-  crossAttrs = lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    # creating the DLL is broken ATM
-    dontDisableStatic = true;
-    configureFlags = configureFlags ++ [ "--disable-shared" ];
-
-    # libiconv is a header dependency - propagating is enough
-    propagatedBuildInputs =  [ findXMLCatalogs libiconv ];
-  };
-
   preInstall = lib.optionalString pythonSupport
     ''substituteInPlace python/libxml2mod.la --replace "${python}" "$py"'';
   installFlags = lib.optionalString pythonSupport
@@ -57,6 +67,8 @@ in stdenv.mkDerivation rec {
     moveToOutput bin/xml2-config "$dev"
     moveToOutput lib/xml2Conf.sh "$dev"
     moveToOutput share/man/man1 "$bin"
+  '' + lib.optionalString enableStatic ''
+    moveToOutput lib/libxml2.a "$static"
   '';
 
   passthru = { inherit version; pythonSupport = pythonSupport; };
@@ -65,7 +77,7 @@ in stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/;
     description = "An XML parsing library for C";
     license = lib.licenses.mit;
-    platforms = lib.platforms.unix;
+    platforms = lib.platforms.all;
     maintainers = [ lib.maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/libxnd/default.nix b/pkgs/development/libraries/libxnd/default.nix
new file mode 100644
index 0000000000000..c99c3f42bfc19
--- /dev/null
+++ b/pkgs/development/libraries/libxnd/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, libndtypes
+}:
+
+stdenv.mkDerivation rec {
+  name = "libxnd-${version}";
+  version = "0.2.0dev3";
+
+  src = fetchFromGitHub {
+    owner = "plures";
+    repo = "xnd";
+    rev = "v${version}";
+    sha256 = "0byq7jspyr2wxrhihw4q7nf0y4sb6j5ax0ndd5dnq5dz88c7qqm2";
+  };
+
+  buildInputs = [ libndtypes ];
+
+  configureFlags = [ "XND_INCLUDE='-I${libndtypes}/include'"
+                     "XND_LINK='-L${libndtypes}/lib'" ];
+
+  makeFlags = [ "CONFIGURE_LDFLAGS='-shared'" ];
+
+  meta = {
+    description = "General container that maps a wide range of Python values directly to memory";
+    homepage = https://xnd.io/;
+    license = lib.licenses.bsdOriginal;
+    maintainers = with lib.maintainers; [ costrouc ];
+  };
+}
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index 1bb90ee195dad..4dfdea582a253 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, libxml2, findXMLCatalogs, python2
+{ stdenv, fetchurl, libxml2, findXMLCatalogs, python2
 , buildPlatform, hostPlatform
 , cryptoSupport ? false
 , pythonSupport ? buildPlatform == hostPlatform
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     homepage = http://xmlsoft.org/XSLT/;
     description = "A C library and tools to do XSL transformations";
     license = licenses.mit;
-    platforms = platforms.unix;
+    platforms = platforms.all;
     maintainers = [ maintainers.eelco ];
   };
 }
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index ff09aeab2c6fb..af665c6d9a4a8 100644
--- a/pkgs/development/libraries/libyaml-cpp/default.nix
+++ b/pkgs/development/libraries/libyaml-cpp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, boost }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   name = "libyaml-cpp-${version}";
diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix
index e441d1e6b6150..671c077b03470 100644
--- a/pkgs/development/libraries/libyaml/default.nix
+++ b/pkgs/development/libraries/libyaml/default.nix
@@ -1,20 +1,36 @@
 { stdenv, fetchurl, fetchpatch }:
+
 let
-  version = "0.1.7";
+
+  version = "0.2.1";
+
+  # https://github.com/yaml/pyyaml/issues/214
+  p1 = fetchpatch {
+         url = https://github.com/yaml/libyaml/commit/8ee83c0da22fe9aa7dea667be8f899a7e32ffb83.patch;
+         sha256 = "00jh39zww6s4gyhxfmlxwb6lz90nl3p51k5h1qm6z3ymik5vljmz";
+       };
+  p2 = fetchpatch {
+         url = https://github.com/yaml/libyaml/commit/56f4b17221868593d6903ee58d6d679b690cf4df.patch;
+         sha256 = "0najcay1y4kgfpsidj7dnyafnwjbav5jyawhyv215zl9gg3386n0";
+       };
+
 in
+
 stdenv.mkDerivation {
   name = "libyaml-${version}";
 
   src = fetchurl {
-    url = "http://pyyaml.org/download/libyaml/yaml-${version}.tar.gz";
-    sha256 = "0a87931cx5m14a1x8rbjix3nz7agrcgndf4h392vm62a4rby9240";
+    url = "https://pyyaml.org/download/libyaml/yaml-${version}.tar.gz";
+    sha256 = "1karpcfgacgppa82wm2drcfn2kb6q2wqfykf5nrhy20sci2i2a3q";
   };
 
+  patches = [ p1 p2 ];  # remove when the next release comes out
+
   meta = with stdenv.lib; {
-    homepage = http://pyyaml.org/;
+    homepage = https://pyyaml.org/;
     description = "A YAML 1.1 parser and emitter written in C";
     license = licenses.mit;
-    platforms = platforms.unix;
+    platforms = platforms.all;
     maintainers = with maintainers; [ wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/libytnef/default.nix b/pkgs/development/libraries/libytnef/default.nix
index 8af7d5d8797c3..710e7a3f0729c 100644
--- a/pkgs/development/libraries/libytnef/default.nix
+++ b/pkgs/development/libraries/libytnef/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   name = "libytnef-${version}";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "Yeraze";
     repo = "ytnef";
     rev = "v${version}";
-    sha256 = "1aavckl7rjbiakwcf4rrkhchrl450p3vq3dy78cxfmgg0jqnvxqy";
+    sha256 = "07h48s5qf08503pp9kafqbwipdqghiif22ghki7z8j67gyp04l6l";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libzdb/default.nix b/pkgs/development/libraries/libzdb/default.nix
index 4a5aa057a5cf8..f3cbddf1ec41d 100644
--- a/pkgs/development/libraries/libzdb/default.nix
+++ b/pkgs/development/libraries/libzdb/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec
 
   src = fetchurl
   {
-    url = "http://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz";
+    url = "https://www.tildeslash.com/libzdb/dist/libzdb-${version}.tar.gz";
     sha256 = "1596njvy518x7vsvsykmnk1ky82x8jxd6nmmp551y6hxn2qsn08g";
   };
 
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 131b64c1c7f2d..50ed00711df7b 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -9,13 +9,19 @@ stdenv.mkDerivation rec {
     sha256 = "1633dvjc08zwwhzqhnv62rjf1abx8y5njmm8y16ik9iwd07ka6d9";
   };
 
+  postPatch = ''
+    patchShebangs test-driver
+    patchShebangs man/handle_links
+  '';
+
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ perl ];
   propagatedBuildInputs = [ zlib ];
 
-  preInstall = ''
-    patchShebangs man/handle_links
+  preCheck = ''
+    # regress/runtests is a generated file
+    patchShebangs regress
   '';
 
   # At least mysqlWorkbench cannot find zipconf.h; I think also openoffice
@@ -26,9 +32,10 @@ stdenv.mkDerivation rec {
     ( cd $dev/include ; ln -s ../lib/libzip/include/zipconf.h zipconf.h )
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://www.nih.at/libzip;
     description = "A C library for reading, creating and modifying zip archives";
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.bsd3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libzmf/default.nix b/pkgs/development/libraries/libzmf/default.nix
index 6050a7080df9b..695effe2ea92e 100644
--- a/pkgs/development/libraries/libzmf/default.nix
+++ b/pkgs/development/libraries/libzmf/default.nix
@@ -10,9 +10,9 @@ stdenv.mkDerivation rec {
     sha256 = "08mg5kmkjrmqrd8j5rkzw9vdqlvibhb1ynp6bmfxnzq5rcq1l197";
   };
 
-  buildInputs = [boost icu libpng librevenge zlib cppunit];
-  nativeBuildInputs = [doxygen pkgconfig];
-  configureFlags = " --disable-werror ";
+  buildInputs = [ boost icu libpng librevenge zlib cppunit ];
+  nativeBuildInputs = [ doxygen pkgconfig ];
+  configureFlags = [ "--disable-werror" ];
 
   meta = {
     inherit version;
diff --git a/pkgs/development/libraries/lief/default.nix b/pkgs/development/libraries/lief/default.nix
new file mode 100644
index 0000000000000..410c60bff9f32
--- /dev/null
+++ b/pkgs/development/libraries/lief/default.nix
@@ -0,0 +1,14 @@
+{ stdenv, fetchzip }:
+
+fetchzip {
+  url = https://github.com/lief-project/LIEF/releases/download/0.9.0/LIEF-0.9.0-Linux.tar.gz;
+  sha256 = "1c47hwd00bp4mqd4p5b6xjfl89c3wwk9ccyc3a2gk658250g2la6";
+
+  meta = with stdenv.lib; {
+    description = "Library to Instrument Executable Formats";
+    homepage = https://lief.quarkslab.com/;
+    license = [ licenses.asl20 ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.lassulus ];
+  };
+}
diff --git a/pkgs/development/libraries/lightning/default.nix b/pkgs/development/libraries/lightning/default.nix
index b4a33bbe7df2e..2ad14efa32233 100644
--- a/pkgs/development/libraries/lightning/default.nix
+++ b/pkgs/development/libraries/lightning/default.nix
@@ -4,14 +4,14 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "lightning-${version}";
-  version = "2.1.0";
+  version = "2.1.2";
 
   src = fetchurl {
     url = "mirror://gnu/lightning/${name}.tar.gz";
-    sha256 = "19j9nwl88k660045s40cbz5zrl1wpd2mcxnnc8qqnnaj311a58qz";
+    sha256 = "0sbs2lm8b9in2m8d52zf0x9gpp40x6r7sl6sha92yq3pr78rwa4v";
   };
 
-  buildInputs = stdenv.lib.optional doCheck libopcodes;
+  checkInputs = [ libopcodes ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/linbox/default.nix b/pkgs/development/libraries/linbox/default.nix
new file mode 100644
index 0000000000000..a9a649e2de762
--- /dev/null
+++ b/pkgs/development/libraries/linbox/default.nix
@@ -0,0 +1,78 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+, givaro
+, pkgconfig
+, blas
+, fflas-ffpack
+, gmpxx
+, optimize ? false # impure
+, withSage ? false # sage support
+}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "linbox";
+  version = "1.5.2";
+
+  src = fetchFromGitHub {
+    owner = "linbox-team";
+    repo = "${pname}";
+    rev = "v${version}";
+    sha256 = "1wfivlwp30mzdy1697w7rzb8caajim50mc8h27k82yipn2qc5n4i";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  buildInputs = [
+    givaro
+    blas
+    gmpxx
+    fflas-ffpack
+  ];
+
+  configureFlags = [
+    "--with-blas-libs=-l${blas.linkName}"
+    "--disable-optimization"
+  ] ++ stdenv.lib.optionals (!optimize) [
+    # disable SIMD instructions (which are enabled *when available* by default)
+    "--disable-sse"
+    "--disable-sse2"
+    "--disable-sse3"
+    "--disable-ssse3"
+    "--disable-sse41"
+    "--disable-sse42"
+    "--disable-avx"
+    "--disable-avx2"
+    "--disable-fma"
+    "--disable-fma4"
+  ] ++ stdenv.lib.optionals withSage [
+    "--enable-sage"
+  ];
+
+  patches = stdenv.lib.optionals withSage [
+    # https://trac.sagemath.org/ticket/24214#comment:39
+    # Will be resolved by
+    # https://github.com/linbox-team/linbox/issues/69
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/sagemath/sage/a843f48b7a4267e44895a3dfa892c89c85b85611/build/pkgs/linbox/patches/linbox_charpoly_fullCRA.patch";
+      sha256 = "16nxfzfknra3k2yk3xy0k8cq9rmnmsch3dnkb03kx15h0y0jmibk";
+    })
+  ];
+
+  doCheck = true;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    inherit version;
+    description = "C++ library for exact, high-performance linear algebra";
+    license = stdenv.lib.licenses.lgpl21Plus;
+    maintainers = [stdenv.lib.maintainers.timokau];
+    platforms = stdenv.lib.platforms.unix;
+    homepage = http://linalg.org/;
+  };
+}
diff --git a/pkgs/development/libraries/linenoise-ng/default.nix b/pkgs/development/libraries/linenoise-ng/default.nix
index 3f008744c1b48..5fa1035868d1b 100644
--- a/pkgs/development/libraries/linenoise-ng/default.nix
+++ b/pkgs/development/libraries/linenoise-ng/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake }:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
   name = "linenoise-ng-${version}";
diff --git a/pkgs/development/libraries/lirc/default.nix b/pkgs/development/libraries/lirc/default.nix
index 7f4d8cc19c8e4..ad6d2df1d8bdf 100644
--- a/pkgs/development/libraries/lirc/default.nix
+++ b/pkgs/development/libraries/lirc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, alsaLib, bash, help2man, pkgconfig, xlibsWrapper, python3
+{ stdenv, fetchurl, alsaLib, help2man, pkgconfig, xlibsWrapper, python3
 , libxslt, systemd, libusb, libftdi1 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index 5d63dd7706641..e0cf3328bac27 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -1,30 +1,34 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, lib, darwin }:
 
 # Based on https://projects.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD
 let
-  version = "2018.02.12";
+  version = "2018.02.28";
 in
 stdenv.mkDerivation {
   name = "live555-${version}";
 
   src = fetchurl { # the upstream doesn't provide a stable URL
     url = "mirror://sourceforge/slackbuildsdirectlinks/live.${version}.tar.gz";
-    sha256 = "08860q07hfiln44d6qaasmfalf4hb9na5jsfd4yps6jn4r54xxwx";
+    sha256 = "0zi47asv1qmb09g321m02q684i3c90vci0mgkdh1mlmx2rbg1d1d";
   };
 
-  postPatch = "sed 's,/bin/rm,rm,g' -i genMakefiles"
-  + stdenv.lib.optionalString (stdenv ? glibc) ''
-
+  postPatch = ''
+    sed 's,/bin/rm,rm,g' -i genMakefiles
+    sed \
+      -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
+      -i config.linux
+  '' + stdenv.lib.optionalString (stdenv ? glibc) ''
     substituteInPlace liveMedia/include/Locale.hh \
       --replace '<xlocale.h>' '<locale.h>'
   '';
 
   configurePhase = ''
-    sed \
-      -e 's/$(INCLUDES) -I. -O2 -DSOCKLEN_T/$(INCLUDES) -I. -O2 -I. -fPIC -DRTSPCLIENT_SYNCHRONOUS_INTERFACE=1 -DSOCKLEN_T/g' \
-      -i config.linux
-
-    ./genMakefiles linux
+    ./genMakefiles ${{
+      x86_64-darwin = "macosx";
+      i686-linux = "linux";
+      x86_64-linux = "linux-64bit";
+      aarch64-linux = "linux-64bit";
+    }.${stdenv.system}}
   '';
 
   installPhase = ''
@@ -35,10 +39,12 @@ stdenv.mkDerivation {
     done
   '';
 
-  meta = with stdenv.lib; {
+  nativeBuildInputs = lib.optional stdenv.isDarwin darwin.cctools;
+
+  meta = with lib; {
     description = "Set of C++ libraries for multimedia streaming, using open standard protocols (RTP/RTCP, RTSP, SIP)";
     homepage = http://www.live555.com/liveMedia/;
     license = licenses.lgpl21Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/lmdbxx/default.nix b/pkgs/development/libraries/lmdbxx/default.nix
new file mode 100644
index 0000000000000..34dfe26ad70be
--- /dev/null
+++ b/pkgs/development/libraries/lmdbxx/default.nix
@@ -0,0 +1,26 @@
+{ stdenv
+, fetchFromGitHub
+, lmdb }:
+
+stdenv.mkDerivation rec {
+  name = "lmdbxx-${version}";
+  version = "0.9.14.0";
+
+  src = fetchFromGitHub {
+    owner = "bendiken";
+    repo = "lmdbxx";
+    rev = "${version}";
+    sha256 = "1jmb9wg2iqag6ps3z71bh72ymbcjrb6clwlkgrqf1sy80qwvlsn6";
+  };
+
+  buildInputs = [ lmdb ];
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    homepage = "https://github.com/bendiken/lmdbxx#readme";
+    description = "C++11 wrapper for the LMDB embedded B+ tree database library";
+    license = stdenv.lib.licenses.unlicense;
+    maintainers = with stdenv.lib.maintainers; [ fgaz ];
+  };
+}
+
diff --git a/pkgs/development/libraries/loudmouth/default.nix b/pkgs/development/libraries/loudmouth/default.nix
index 762d23e240a2d..aecd75656dae6 100644
--- a/pkgs/development/libraries/loudmouth/default.nix
+++ b/pkgs/development/libraries/loudmouth/default.nix
@@ -5,14 +5,14 @@ stdenv.mkDerivation rec {
   name = "loudmouth-${version}";
 
   src = fetchurl {
-    url = "http://mcabber.com/files/loudmouth/${name}.tar.bz2";
+    url = "https://mcabber.com/files/loudmouth/${name}.tar.bz2";
     sha256 = "0b6kd5gpndl9nzis3n6hcl0ldz74bnbiypqgqa1vgb0vrcar8cjl";
   };
 
   patches = [
   ];
 
-  configureFlags = "--with-ssl=openssl";
+  configureFlags = [ "--with-ssl=openssl" ];
 
   propagatedBuildInputs = [ openssl libidn glib zlib ];
 
diff --git a/pkgs/development/libraries/lucene++/default.nix b/pkgs/development/libraries/lucene++/default.nix
index 93c8a0474d961..c45fa6bc61aab 100644
--- a/pkgs/development/libraries/lucene++/default.nix
+++ b/pkgs/development/libraries/lucene++/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, cmake, boost, gtest }:
+{ stdenv, fetchurl, cmake, boost, gtest }:
 
 stdenv.mkDerivation rec {
   name = "lucene++-${version}";
diff --git a/pkgs/development/libraries/mac/default.nix b/pkgs/development/libraries/mac/default.nix
new file mode 100644
index 0000000000000..8a8a004a5e69a
--- /dev/null
+++ b/pkgs/development/libraries/mac/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, fetchpatch, yasm }:
+
+stdenv.mkDerivation rec {
+  name = "mac-${version}";
+  version = "4.11-u4-b5-s7";
+
+  src = fetchurl {
+    url = "https://www.deb-multimedia.org/pool/main/m/monkeys-audio/monkeys-audio_${version}.orig.tar.gz";
+    sha256 = "16i96cw5r3xbsivjigqp15vv32wa38k86mxq11qx1pzmpryqpqkk";
+  };
+
+  patches = [
+    (fetchpatch {
+      name = "mac-4.11.4.5.7-gcc6.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/mac/files/mac-4.11.4.5.7-gcc6.patch?id=1bd4e0e30e4d8a8862217d7067323851b34c7fe4";
+      sha256 = "093b8m8p8s6dmc62fc8vb4hlmjc2ncb4rdgc82g0a8gg6w5kcj8x";
+    })
+    (fetchpatch {
+      name = "mac-4.11.4.5.7-output.patch";
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-sound/mac/files/mac-4.11.4.5.7-output.patch?id=1bd4e0e30e4d8a8862217d7067323851b34c7fe4";
+      sha256 = "0njmwj6d9jqi4pz4fax02w37gk22vda0grszrs2nn97zzmjl36zk";
+    })
+  ];
+
+  CXXFLAGS = "-DSHNTOOL";
+
+  nativeBuildInputs = [ yasm ];
+
+  meta = with stdenv.lib; {
+    description = "APE codec and decompressor";
+    homepage = http://www.deb-multimedia.org/dists/testing/main/binary-amd64/package/monkeys-audio.php;
+    license = licenses.unfreeRedistributable;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/pkgs/development/libraries/mailcore2/default.nix b/pkgs/development/libraries/mailcore2/default.nix
index 0a64c7c0429a2..367c4e9638422 100644
--- a/pkgs/development/libraries/mailcore2/default.nix
+++ b/pkgs/development/libraries/mailcore2/default.nix
@@ -1,30 +1,30 @@
 { stdenv, lib, fetchFromGitHub, cmake, libetpan, icu, cyrus_sasl, libctemplate
-, libuchardet, pkgconfig, glib, libtidy, libxml2, libuuid, openssl
+, libuchardet, pkgconfig, glib, html-tidy, libxml2, libuuid, openssl
 }:
 
 stdenv.mkDerivation rec {
   name = "mailcore2-${version}";
 
-  version = "0.5.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner  = "MailCore";
     repo   = "mailcore2";
     rev    = version;
-    sha256 = "1k0l59cdk8np4pff1my07dp7ivf3nchlhcpvm9xizp0my9rqgbxb";
+    sha256 = "1d0wmnkk9vnjqc28i79z3fwaaycdbprfspagik4mzdkgval5r5pm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
     libetpan cmake icu cyrus_sasl libctemplate libuchardet glib
-    libtidy libxml2 libuuid openssl
+    html-tidy libxml2 libuuid openssl
   ];
 
   postPatch = ''
     substituteInPlace CMakeLists.txt \
        --replace " icule iculx" "" \
        --replace "tidy/tidy.h" "tidy.h" \
-       --replace "/usr/include/tidy" "${libtidy}/include" \
+       --replace "/usr/include/tidy" "${html-tidy}/include" \
        --replace "/usr/include/libxml2" "${libxml2.dev}/include/libxml2"
     substituteInPlace src/core/basetypes/MCHTMLCleaner.cpp \
       --replace buffio.h tidybuffio.h
diff --git a/pkgs/development/libraries/matio/default.nix b/pkgs/development/libraries/matio/default.nix
index 9fcc9c70a9b1b..573215227369b 100644
--- a/pkgs/development/libraries/matio/default.nix
+++ b/pkgs/development/libraries/matio/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl }:
 stdenv.mkDerivation rec {
-  name = "matio-1.5.11";
+  name = "matio-1.5.12";
   src = fetchurl {
     url = "mirror://sourceforge/matio/${name}.tar.gz";
-    sha256 = "02ygr7bslzvn6mhxvapz57bh4d448xjf3ds82g1cvhn9al6fvk0c";
+    sha256 = "1afqjhc1wbm7g1vry3w30c7dbrxg6n4i482ybgx6l1b5wj0f75c6";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/mbedtls/darwin_dylib.patch b/pkgs/development/libraries/mbedtls/darwin_dylib.patch
deleted file mode 100644
index bc6992d6e779f..0000000000000
--- a/pkgs/development/libraries/mbedtls/darwin_dylib.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff --git a/library/Makefile b/library/Makefile
-index 28f9231..ad9cc32 100644
---- a/library/Makefile
-+++ b/library/Makefile
-@@ -103,9 +103,9 @@ libmbedtls.so: libmbedtls.$(SOEXT_TLS)
- 	echo "  LN    $@ -> $<"
- 	ln -sf $< $@
- 
--libmbedtls.dylib: $(OBJS_TLS)
-+libmbedtls.dylib: $(OBJS_TLS) libmbedx509.dylib
- 	echo "  LD    $@"
--	$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
-+	$(CC) -dynamiclib -L. -lmbedcrypto -lmbedx509 $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_TLS)
- 
- libmbedtls.dll: $(OBJS_TLS) libmbedx509.dll
- 	echo "  LD    $@"
-@@ -126,9 +126,9 @@ libmbedx509.so: libmbedx509.$(SOEXT_X509)
- 	echo "  LN    $@ -> $<"
- 	ln -sf $< $@
- 
--libmbedx509.dylib: $(OBJS_X509)
-+libmbedx509.dylib: $(OBJS_X509) libmbedcrypto.dylib
- 	echo "  LD    $@"
--	$(CC) -dynamiclib $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
-+	$(CC) -dynamiclib -L. -lmbedcrypto  $(LOCAL_LDFLAGS) $(LDFLAGS) -o $@ $(OBJS_X509)
- 
- libmbedx509.dll: $(OBJS_X509) libmbedcrypto.dll
- 	echo "  LD    $@"
diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix
index 91fcba97e184c..d99944228c739 100644
--- a/pkgs/development/libraries/mbedtls/default.nix
+++ b/pkgs/development/libraries/mbedtls/default.nix
@@ -1,56 +1,37 @@
-{ stdenv, fetchFromGitHub, perl }:
+{ stdenv
+, fetchFromGitHub
+
+, cmake
+, ninja
+, perl # Project uses Perl for scripting and testing
+
+, enableThreading ? true # Threading can be disabled to increase security https://tls.mbed.org/kb/development/thread-safety-and-multi-threading
+}:
 
 stdenv.mkDerivation rec {
-  name = "mbedtls-2.7.1";
+  name = "mbedtls-${version}";
+  version = "2.12.0";
 
   src = fetchFromGitHub {
     owner = "ARMmbed";
     repo = "mbedtls";
     rev = name;
-    sha256 = "0dkmhvs38sqgnfxgzrs81ghajyyzp9bb7wy9kn96q7zy4lly0gg6";
+    sha256 = "09snlzlbn8yq95dnfbj2g5bh6y4q82xkaph7qp9ddnlqiaqcji2h";
   };
 
-  nativeBuildInputs = [ perl ];
-
-  patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin_dylib.patch ];
-
-  postPatch = ''
-    patchShebangs .
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    substituteInPlace library/Makefile --replace "-soname" "-install_name"
-    substituteInPlace tests/scripts/run-test-suites.pl --replace "LD_LIBRARY_PATH" "DYLD_LIBRARY_PATH"
-    # Necessary for install_name_tool below
-    echo "LOCAL_LDFLAGS += -headerpad_max_install_names" >> programs/Makefile
-  '';
+  nativeBuildInputs = [ cmake ninja perl ];
 
-  makeFlags = [
-    "SHARED=1"
-  ] ++ stdenv.lib.optionals stdenv.isDarwin [
-    "DLEXT=dylib"
-  ];
-
-  installFlags = [
-    "DESTDIR=\${out}"
-  ];
-
-  postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-      install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedtls.dylib
-      install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $out/lib/libmbedx509.dylib
-      install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $out/lib/libmbedtls.dylib
-
-      for exe in $out/bin/*; do
-          install_name_tool -change libmbedtls.dylib $out/lib/libmbedtls.dylib $exe
-          install_name_tool -change libmbedx509.dylib $out/lib/libmbedx509.dylib $exe
-          install_name_tool -change libmbedcrypto.dylib $out/lib/libmbedcrypto.dylib $exe
-      done
+  postConfigure = stdenv.lib.optionals enableThreading ''
+    perl scripts/config.pl set MBEDTLS_THREADING_C    # Threading abstraction layer
+    perl scripts/config.pl set MBEDTLS_THREADING_PTHREAD    # POSIX thread wrapper layer for the threading layer.
   '';
 
-  doCheck = true;
+  cmakeFlags = [ "-DUSE_SHARED_MBEDTLS_LIBRARY=on" ];
 
   meta = with stdenv.lib; {
     homepage = https://tls.mbed.org/;
-    description = "Portable cryptographic and SSL/TLS library, aka polarssl";
-    license = licenses.gpl3;
+    description = "Portable cryptographic and TLS library, formerly known as PolarSSL";
+    license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ wkennington fpletz ];
   };
diff --git a/pkgs/development/libraries/mdds/0.12.1.nix b/pkgs/development/libraries/mdds/0.12.1.nix
index 1c6134d0480b8..11bd437d377e2 100644
--- a/pkgs/development/libraries/mdds/0.12.1.nix
+++ b/pkgs/development/libraries/mdds/0.12.1.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "mdds-${version}";
 
   src = fetchurl {
-    url = "http://kohei.us/files/mdds/src/mdds_${version}.tar.bz2";
+    url = "https://kohei.us/files/mdds/src/mdds_${version}.tar.bz2";
     sha256 = "0gg8mb9kxh3wggh7njj1gf90xy27p0yq2cw88wqar9hhg2fmwmi3";
   };
 
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 592b6d7a67796..43fee9ccead82 100644
--- a/pkgs/development/libraries/mdds/default.nix
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, boost }:
 
 stdenv.mkDerivation rec {
   version = "1.3.1";
   name = "mdds-${version}";
 
   src = fetchurl {
-    url = "http://kohei.us/files/mdds/src/mdds-${version}.tar.bz2";
+    url = "https://kohei.us/files/mdds/src/mdds-${version}.tar.bz2";
     sha256 = "18g511z1lgfxrga2ld9yr95phmyfbd3ymbv4q5g5lyjn4ljcvf6w";
   };
 
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
    cp "$out/share/pkgconfig/"* "$out/lib/pkgconfig"
   '';
 
+  checkInputs = [ boost ];
+
   meta = {
     inherit version;
     homepage = https://gitlab.com/mdds/mdds;
diff --git a/pkgs/development/libraries/medfile/default.nix b/pkgs/development/libraries/medfile/default.nix
new file mode 100644
index 0000000000000..5a29a9219fb8b
--- /dev/null
+++ b/pkgs/development/libraries/medfile/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchurl, cmake, hdf5 }:
+
+stdenv.mkDerivation rec {
+  name = "medfile-${version}";
+  version = "3.3.1";
+
+  src = fetchurl {
+    url = "http://files.salome-platform.org/Salome/other/med-${version}.tar.gz";
+    sha256 = "1215sal10xp6xirgggdszay2bmx0sxhn9pgh7x0wg2w32gw1wqyx";
+  };
+
+  buildInputs = [ cmake hdf5 ];
+
+  checkPhase = "make test";
+
+  postInstall = "rm -r $out/bin/testc";
+
+  meta = with stdenv.lib; {
+    description = "Library to read and write MED files";
+    homepage = http://salome-platform.org/;
+    platforms = platforms.linux;
+    license = licenses.lgpl3Plus;
+  };
+}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 8b756e338e483..4b69d5d0aafe4 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
+{ stdenv, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
 , libopus, ffmpeg, libX11, libXv, libGLU_combined, glew, libtheora, libvpx, SDL, libupnp
 , ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen
 , python, libXext, libmatroska, openssl, fetchpatch
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index f49b7ba2c4b4d..b8a8c64011ca0 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, mediastreamer, openh264
+{ stdenv, autoreconfHook, pkgconfig, mediastreamer, openh264
 , fetchgit, cmake
 }:
 
diff --git a/pkgs/development/libraries/mesa-darwin/default.nix b/pkgs/development/libraries/mesa-darwin/default.nix
index 0ae17b4d3f619..2bfdb679156cf 100644
--- a/pkgs/development/libraries/mesa-darwin/default.nix
+++ b/pkgs/development/libraries/mesa-darwin/default.nix
@@ -1,7 +1,5 @@
-{ stdenv, stdenvAdapters, fetchurl, pkgconfig, intltool, flex, bison
-, python, libxml2Python, file, expat, makedepend, xorg, llvm, libffi, libvdpau
-, enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
-, enableExtraFeatures ? false # not maintained
+{ stdenv, fetchurl, pkgconfig, intltool, flex, bison
+, python, libxml2Python, expat, makedepend, xorg, llvm, libffi, libvdpau
 , OpenGL, apple_sdk, Xplugin
 }:
 
@@ -52,6 +50,12 @@ let
 
     configurePhase = ":";
 
+    configureFlags = [
+      # NOTE: Patents expired on June 17 2018.
+      # For details see: https://www.phoronix.com/scan.php?page=news_item&px=OpenGL-Texture-Float-Freed
+      "texture-float"
+    ];
+
     makeFlags = "INSTALL_DIR=\${out} CC=cc CXX=c++";
 
     enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix
index 9a6441956db37..4e35d6ed24d15 100644
--- a/pkgs/development/libraries/mesa-glu/default.nix
+++ b/pkgs/development/libraries/mesa-glu/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchurl, pkgconfig, mesa_noglu }:
+{ stdenv, fetchurl, pkgconfig, libGL }:
 
 stdenv.mkDerivation rec {
-  name = "glu-9.0.0";
+  name = "glu-${version}";
+  version = "9.0.0";
 
   src = fetchurl {
     url = "ftp://ftp.freedesktop.org/pub/mesa/glu/${name}.tar.bz2";
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
   '';
 
   nativeBuildInputs = [ pkgconfig ];
-  propagatedBuildInputs = [ mesa_noglu ];
+  propagatedBuildInputs = [ libGL ];
 
   outputs = [ "out" "dev" ];
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index fbbfe44e27e83..50fb2daad70c4 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,13 +1,10 @@
-{ stdenv, fetchurl, fetchpatch, lib
-, pkgconfig, intltool, autoreconfHook, substituteAll
+{ stdenv, fetchurl, lib
+, pkgconfig, intltool, autoreconfHook
 , file, expat, libdrm, xorg, wayland, wayland-protocols, openssl
-, llvmPackages, libffi, libomxil-bellagio, libva
+, llvmPackages, libffi, libomxil-bellagio, libva-minimal
 , libelf, libvdpau, valgrind-light, python2
-, grsecEnabled ? false
+, libglvnd
 , enableRadv ? true
-# Texture floats are patented, see docs/patents.txt, so we don't enable them for full Mesa.
-# It's overridden for mesa_drivers.
-, enableTextureFloats ? false
 , galliumDrivers ? null
 , driDrivers ? null
 , vulkanDrivers ? null
@@ -32,17 +29,17 @@ else
 
 let
   defaultGalliumDrivers =
-    if stdenv.isArm
-    then ["nouveau" "freedreno" "vc4" "etnaviv" "imx"]
+    if stdenv.isAarch32
+    then ["virgl" "nouveau" "freedreno" "vc4" "etnaviv" "imx"]
     else if stdenv.isAarch64
-    then ["nouveau" "vc4" ]
-    else ["svga" "i915" "r300" "r600" "radeonsi" "nouveau"];
+    then ["virgl" "nouveau" "vc4" ]
+    else ["virgl" "svga" "i915" "r300" "r600" "radeonsi" "nouveau"];
   defaultDriDrivers =
-    if (stdenv.isArm || stdenv.isAarch64)
+    if (stdenv.isAarch32 || stdenv.isAarch64)
     then ["nouveau"]
     else ["i915" "i965" "nouveau" "radeon" "r200"];
   defaultVulkanDrivers =
-    if (stdenv.isArm || stdenv.isAarch64)
+    if (stdenv.isAarch32 || stdenv.isAarch64)
     then []
     else ["intel"] ++ lib.optional enableRadv "radeon";
 in
@@ -54,7 +51,7 @@ let
     (if gallium_ == null
           then defaultGalliumDrivers
           else gallium_)
-    ++ ["swrast"];
+    ++ ["swrast" "virgl"];
   driDrivers =
     (if dri_ == null
       then defaultDriDrivers
@@ -66,12 +63,11 @@ let
 in
 
 let
-  version = "17.3.6";
+  version = "18.1.7";
   branch  = head (splitString "." version);
-  driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
 
-stdenv.mkDerivation {
+let self = stdenv.mkDerivation {
   name = "mesa-noglu-${version}";
 
   src =  fetchurl {
@@ -81,7 +77,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
-    sha256 = "e5915680d44ac9d05defdec529db7459ac9edd441c9845266eff2e2d3e57fbf8";
+    sha256 = "655e3b32ce3bdddd5e6e8768596e5d4bdef82d0dd37067c324cc4b2daa207306";
   };
 
   prePatch = "patchShebangs .";
@@ -90,19 +86,21 @@ stdenv.mkDerivation {
   #  revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
   #  ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
   patches = [
-    ./glx_ro_text_segm.patch # fix for grsecurity/PaX
     ./symlink-drivers.patch
-  ] ++ stdenv.lib.optional stdenv.hostPlatform.isMusl ./musl-fixes.patch;
+    ./missing-includes.patch # dev_t needs sys/stat.h, time_t needs time.h, etc.-- fixes build w/musl
+    ./disk_cache-include-dri-driver-path-in-cache-key.patch
+  ];
 
   outputs = [ "out" "dev" "drivers" "osmesa" ];
 
   # TODO: Figure out how to enable opencl without having a runtime dependency on clang
   configureFlags = [
-    "--sysconfdir=${driverLink}/etc"
+    "--sysconfdir=${libglvnd.driverLink}/etc"
     "--localstatedir=/var"
     "--with-dri-driverdir=$(drivers)/lib/dri"
-    "--with-dri-searchpath=${driverLink}/lib/dri"
+    "--with-dri-searchpath=${libglvnd.driverLink}/lib/dri"
     "--with-platforms=x11,wayland,drm"
+    "--enable-texture-float"
   ]
   ++ (optional (galliumDrivers != [])
       ("--with-gallium-drivers=" +
@@ -114,16 +112,16 @@ stdenv.mkDerivation {
       ("--with-vulkan-drivers=" +
         builtins.concatStringsSep "," vulkanDrivers))
   ++ [
-    (enableFeature enableTextureFloats "texture-float")
-    (enableFeature grsecEnabled "glx-rts")
     (enableFeature stdenv.isLinux "dri3")
     (enableFeature stdenv.isLinux "nine") # Direct3D in Wine
+    "--enable-libglvnd"
     "--enable-dri"
     "--enable-driglx-direct"
     "--enable-gles1"
     "--enable-gles2"
     "--enable-glx"
-    "--enable-glx-tls"
+    # https://bugs.freedesktop.org/show_bug.cgi?id=35268
+    (enableFeature (!stdenv.hostPlatform.isMusl) "glx-tls")
     "--enable-gallium-osmesa" # used by wine
     "--enable-llvm"
     "--enable-egl"
@@ -132,7 +130,6 @@ stdenv.mkDerivation {
     "--enable-xvmc"
     "--enable-vdpau"
     "--enable-shared-glapi"
-    "--enable-sysfs"
     "--enable-llvm-shared-libs"
     "--enable-omx-bellagio"
     "--enable-va"
@@ -146,21 +143,21 @@ stdenv.mkDerivation {
     ++ optional stdenv.isLinux libdrm;
 
   buildInputs = with xorg; [
-    expat llvmPackages.llvm
+    expat llvmPackages.llvm libglvnd
     glproto dri2proto dri3proto presentproto
     libX11 libXext libxcb libXt libXfixes libxshmfence
     libffi wayland wayland-protocols libvdpau libelf libXvMC
-    libomxil-bellagio libva libpthreadstubs openssl/*or another sha1 provider*/
-    valgrind-light python2
+    libomxil-bellagio libva-minimal libpthreadstubs openssl/*or another sha1 provider*/
+    valgrind-light python2 python2.pkgs.Mako
   ];
 
-
   enableParallelBuilding = true;
   doCheck = false;
 
   installFlags = [
-    "sysconfdir=\${out}/etc"
+    "sysconfdir=\${drivers}/etc"
     "localstatedir=\${TMPDIR}"
+    "vendorjsondir=\${out}/share/glvnd/egl_vendor.d"
   ];
 
   # TODO: probably not all .la files are completely fixed, but it shouldn't matter;
@@ -174,8 +171,10 @@ stdenv.mkDerivation {
       $out/lib/libxatracker* \
       $out/lib/libvulkan_*
 
+    # Move other drivers to a separate output
     mv $out/lib/dri/* $drivers/lib/dri # */
     rmdir "$out/lib/dri"
+    mv $out/lib/lib*_mesa* $drivers/lib
 
     # move libOSMesa to $osmesa, as it's relatively big
     mkdir -p {$osmesa,$drivers}/lib/
@@ -185,10 +184,27 @@ stdenv.mkDerivation {
     sed "/^libdir=/s,$out,$osmesa," -i $osmesa/lib/libOSMesa*.la
 
     # set the default search path for DRI drivers; used e.g. by X server
-    substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
-  '' + optionalString (vulkanDrivers != []) ''
-    # move share/vulkan/icd.d/
+    substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${libglvnd.driverLink}"
+
+    # remove GLES libraries; they are provided by libglvnd
+    rm $out/lib/lib{GLESv1_CM,GLESv2}.*
+
+    # remove pkgconfig files for GL/GLES/EGL; they are provided by libGL.
+    rm $dev/lib/pkgconfig/{gl,egl,glesv1_cm,glesv2}.pc
+
+    # 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_"
+    done
+
+    # Update search path used by pkg-config
+    for pc in $dev/lib/pkgconfig/{d3d,dri,xatracker}.pc; do
+      substituteInPlace "$pc" --replace $out $drivers
+    done
+  '' + optionalString (vulkanDrivers != []) ''
     # Update search path used by Vulkan (it's pointing to $out but
     # drivers are in $drivers)
     for js in $drivers/share/vulkan/icd.d/*.json; do
@@ -209,13 +225,48 @@ stdenv.mkDerivation {
     done
   '';
 
-  passthru = { inherit libdrm version driverLink; };
+  passthru = {
+    inherit libdrm version;
+    inherit (libglvnd) driverLink;
+
+    stubs = stdenv.mkDerivation {
+      name = "libGL-${libglvnd.version}";
+      outputs = [ "out" "dev" ];
+
+      # Use stub libraries from libglvnd and headers from Mesa.
+      buildCommand = ''
+        ln -s ${libglvnd.out} $out
+        mkdir -p $dev/{,lib/pkgconfig,nix-support}
+        echo "$out" > $dev/nix-support/propagated-build-inputs
+        ln -s ${self.dev}/include $dev/include
+
+        genPkgConfig() {
+          local name="$1"
+          local lib="$2"
+
+          cat <<EOF >$dev/lib/pkgconfig/$name.pc
+        Name: $name
+        Description: $lib library
+        Version: ${self.version}
+        Libs: -L${libglvnd.out}/lib -l$lib
+        Cflags: -I${self.dev}/include
+        EOF
+        }
+
+        genPkgConfig gl GL
+        genPkgConfig egl EGL
+        genPkgConfig glesv1_cm GLESv1_CM
+        genPkgConfig glesv2 GLESv2
+      '';
+    };
+  };
 
   meta = with stdenv.lib; {
     description = "An open source implementation of OpenGL";
     homepage = https://www.mesa3d.org/;
     license = licenses.mit; # X11 variant, in most files
-    platforms = platforms.mesaPlatforms;
-    maintainers = with maintainers; [ eduarrrd vcunat ];
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ vcunat ];
   };
-}
+};
+in self
diff --git a/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch b/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch
new file mode 100644
index 0000000000000..47391567fb9b9
--- /dev/null
+++ b/pkgs/development/libraries/mesa/disk_cache-include-dri-driver-path-in-cache-key.patch
@@ -0,0 +1,52 @@
+From 9c9df280b318c26aece9873cf77b32e4f95634c1 Mon Sep 17 00:00:00 2001
+From: David McFarland <corngood@gmail.com>
+Date: Mon, 6 Aug 2018 15:52:11 -0300
+Subject: [PATCH] disk_cache: include dri driver path in cache key
+
+This fixes invalid cache hits on NixOS where all shared library
+timestamps in /nix/store are zero.
+---
+ src/util/Makefile.am  | 3 +++
+ src/util/disk_cache.c | 3 +++
+ 2 files changed, 6 insertions(+)
+
+diff --git a/src/util/Makefile.am b/src/util/Makefile.am
+index 07bf052175..aea09f60b3 100644
+--- a/src/util/Makefile.am
++++ b/src/util/Makefile.am
+@@ -30,6 +30,9 @@ noinst_LTLIBRARIES = \
+ 	libmesautil.la \
+ 	libxmlconfig.la
+ 
++AM_CFLAGS = \
++	-DDISK_CACHE_KEY=\"$(drivers)\"
++
+ AM_CPPFLAGS = \
+ 	$(PTHREAD_CFLAGS) \
+ 	-I$(top_srcdir)/include
+diff --git a/src/util/disk_cache.c b/src/util/disk_cache.c
+index 4a762eff20..8086c0be75 100644
+--- a/src/util/disk_cache.c
++++ b/src/util/disk_cache.c
+@@ -388,8 +388,10 @@ disk_cache_create(const char *gpu_name, const char *timestamp,
+ 
+    /* Create driver id keys */
+    size_t ts_size = strlen(timestamp) + 1;
++   size_t key_size = strlen(DISK_CACHE_KEY) + 1;
+    size_t gpu_name_size = strlen(gpu_name) + 1;
+    cache->driver_keys_blob_size += ts_size;
++   cache->driver_keys_blob_size += key_size;
+    cache->driver_keys_blob_size += gpu_name_size;
+ 
+    /* We sometimes store entire structs that contains a pointers in the cache,
+@@ -410,6 +412,7 @@ disk_cache_create(const char *gpu_name, const char *timestamp,
+    uint8_t *drv_key_blob = cache->driver_keys_blob;
+    DRV_KEY_CPY(drv_key_blob, &cache_version, cv_size)
+    DRV_KEY_CPY(drv_key_blob, timestamp, ts_size)
++   DRV_KEY_CPY(drv_key_blob, DISK_CACHE_KEY, key_size)
+    DRV_KEY_CPY(drv_key_blob, gpu_name, gpu_name_size)
+    DRV_KEY_CPY(drv_key_blob, &ptr_size, ptr_size_size)
+    DRV_KEY_CPY(drv_key_blob, &driver_flags, driver_flags_size)
+-- 
+2.18.0
+
diff --git a/pkgs/development/libraries/mesa/glx_ro_text_segm.patch b/pkgs/development/libraries/mesa/glx_ro_text_segm.patch
deleted file mode 100644
index 95f01ba9e52c5..0000000000000
--- a/pkgs/development/libraries/mesa/glx_ro_text_segm.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 5068913..3d4271e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -429,6 +429,20 @@ AC_SUBST([GLESv2_LIB_GLOB])
- AC_SUBST([VG_LIB_GLOB])
- AC_SUBST([GLAPI_LIB_GLOB])
- 
-+
-+dnl readonly text segment on x86 hardened platforms
-+AC_ARG_ENABLE([glx_rts],
-+    [AS_HELP_STRING([--enable-glx-rts],
-+        [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
-+    [enable_glx_rts="$enableval"],
-+    [enable_glx_rts=no])
-+if test "x$enable_glx_rts" = xyes; then
-+    DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
-+else
-+    enable_glx_rts=no
-+fi
-+
-+
- dnl
- dnl Arch/platform-specific settings
- dnl
diff --git a/pkgs/development/libraries/mesa/missing-includes.patch b/pkgs/development/libraries/mesa/missing-includes.patch
new file mode 100644
index 0000000000000..feb6ffe428c07
--- /dev/null
+++ b/pkgs/development/libraries/mesa/missing-includes.patch
@@ -0,0 +1,55 @@
+--- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
++++ ./src/gallium/winsys/svga/drm/vmw_screen.h
+@@ -34,7 +34,7 @@
+ #ifndef VMW_SCREEN_H_
+ #define VMW_SCREEN_H_
+ 
+-
++#include <sys/stat.h>
+ #include "pipe/p_compiler.h"
+ #include "pipe/p_state.h"
+ 
+--- ./src/gallium/state_trackers/nine/threadpool.h.orig	2015-05-07 14:10:53.443337212 +0200
++++ ./src/gallium/state_trackers/nine/threadpool.h	2015-05-07 14:11:04.210307653 +0200
+@@ -24,6 +24,8 @@
+ #ifndef _THREADPOOL_H_
+ #define _THREADPOOL_H_
+ 
++#include <pthread.h>
++
+ #define MAXTHREADS 1
+ 
+ struct threadpool {
+--- ./src/util/rand_xor.c.orig	2017-06-20 00:38:57.199474067 +0200
++++ ./src/util/rand_xor.c	2017-06-20 00:40:31.351279557 +0200
+@@ -23,7 +23,9 @@
+  */
+ 
+ #if defined(__linux__)
++#include <sys/types.h>
+ #include <sys/file.h>
++#include <sys/stat.h>
+ #include <unistd.h>
+ #include <fcntl.h>
+ #else
+--- ./src/mesa/drivers/dri/i965/brw_bufmgr.h
++++ ./src/mesa/drivers/dri/i965/brw_bufmgr.h
+@@ -37,6 +37,7 @@
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <stdio.h>
++#include <time.h>
+ #include "util/u_atomic.h"
+ #include "util/list.h"
+
+--- ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
++++ ./src/amd/vulkan/winsys/amdgpu/radv_amdgpu_winsys.h
+@@ -28,6 +28,8 @@
+ #ifndef RADV_AMDGPU_WINSYS_H
+ #define RADV_AMDGPU_WINSYS_H
+ 
++#include <sys/types.h>
++
+ #include "radv_radeon_winsys.h"
+ #include "ac_gpu_info.h"
+ #include "addrlib/addrinterface.h"<Paste>
diff --git a/pkgs/development/libraries/mesa/musl-fixes.patch b/pkgs/development/libraries/mesa/musl-fixes.patch
deleted file mode 100644
index 60140d445ae8a..0000000000000
--- a/pkgs/development/libraries/mesa/musl-fixes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
-+++ ./src/gallium/winsys/svga/drm/vmw_screen.h
-@@ -34,7 +34,7 @@
- #ifndef VMW_SCREEN_H_
- #define VMW_SCREEN_H_
- 
--
-+#include <sys/stat.h>
- #include "pipe/p_compiler.h"
- #include "pipe/p_state.h"
- 
---- a/src/util/u_endian.h.orig	2016-11-04 12:16:00.480356454 +0100
-+++ b/src/util/u_endian.h	2016-11-04 12:16:11.984347944 +0100
-@@ -27,7 +27,7 @@
- #ifndef U_ENDIAN_H
- #define U_ENDIAN_H
- 
--#if defined(__GLIBC__) || defined(ANDROID) || defined(__CYGWIN__)
-+#if defined(__linux__) || defined(ANDROID) || defined(__CYGWIN__)
- #include <endian.h>
- 
- #if __BYTE_ORDER == __LITTLE_ENDIAN
diff --git a/pkgs/development/libraries/minixml/default.nix b/pkgs/development/libraries/minixml/default.nix
index fa4758d0877ad..6779268dbdc12 100644
--- a/pkgs/development/libraries/minixml/default.nix
+++ b/pkgs/development/libraries/minixml/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation  rec {
 
   meta = with stdenv.lib; {
     description = "A small XML library";
-    homepage = http://www.minixml.org;
+    homepage = https://www.msweet.org/mxml/;
     license = licenses.lgpl2;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
index d9bac46230ac1..c88a978574a77 100644
--- a/pkgs/development/libraries/minizip/default.nix
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -10,6 +10,7 @@ stdenv.mkDerivation {
   sourceRoot = "zlib-${zlib.version}/contrib/minizip";
 
   meta = {
+    inherit (zlib.meta) license homepage;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 59700669ba7cd..d8075c41a7036 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl, makeWrapper
+{ stdenv, fetchFromGitHub, makeWrapper
 , SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
 , libvorbis, libxml2, movit, pkgconfig, sox
 , gtk2
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "6.6.0";
+  version = "6.10.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "0b2fq0819r7n141l6hhr66hpayqqcmjr2yxw9azxkapg1h0div6q";
+    sha256 = "0ki86yslr5ywa6sz8pjrgd9a4rn2rr4mss2zkmqi7pq8prgsm1fr";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 27f7cf31cbf2a..804c3f8ed2289 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -7,13 +7,13 @@ let inherit (stdenv.lib) getDev; in
 
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
-  version = "6.6.0";
+  version = "6.10.0";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "mlt";
     rev = "v${version}";
-    sha256 = "0b2fq0819r7n141l6hhr66hpayqqcmjr2yxw9azxkapg1h0div6q";
+    sha256 = "0ki86yslr5ywa6sz8pjrgd9a4rn2rr4mss2zkmqi7pq8prgsm1fr";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/mono-zeroconf/default.nix b/pkgs/development/libraries/mono-zeroconf/default.nix
index 444ec9dac2bef..d96f90b4bfd67 100644
--- a/pkgs/development/libraries/mono-zeroconf/default.nix
+++ b/pkgs/development/libraries/mono-zeroconf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoreconfHook, which, pkgconfig, mono }:
+{ stdenv, fetchurl, which, pkgconfig, mono }:
 
 stdenv.mkDerivation rec {
   name = "mono-zeroconf-${version}";
diff --git a/pkgs/development/libraries/movit/default.nix b/pkgs/development/libraries/movit/default.nix
index 3766140eea1ee..b5188cb66d29c 100644
--- a/pkgs/development/libraries/movit/default.nix
+++ b/pkgs/development/libraries/movit/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "High-performance, high-quality video filters for the GPU";
-    homepage = http://movit.sesse.net;
+    homepage = https://movit.sesse.net;
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch b/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
deleted file mode 100644
index 987298bd5b002..0000000000000
--- a/pkgs/development/libraries/mp4v2/A02-meaningful-4gb-warning.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur mp4v2-trunk-r355/src/mp4atom.cpp mp4v2-trunk-r355/src/mp4atom.cpp
---- mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:40:03.000000000 +0100
-+++ mp4v2-trunk-r355/src/mp4atom.cpp	2012-02-21 19:36:38.000000000 +0100
-@@ -543,6 +543,10 @@
-         m_pFile->SetPosition(m_start + 8);
-         m_pFile->WriteUInt64(m_size);
-     } else {
-+        if (!(m_size <= (uint64_t)0xFFFFFFFF)) {
-+            // Let the user know what the following assert is all about
-+            fprintf(stderr, "MP4ERROR: File size exceeded 4 GB; output unplayable. Enable \"Large file size\" to fix it.\n");
-+        }
-         ASSERT(m_size <= (uint64_t)0xFFFFFFFF);
-         m_pFile->SetPosition(m_start);
-         m_pFile->WriteUInt32(m_size);
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index a5542ebb659ab..e55d9989bffcf 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -9,10 +9,6 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
-    # From Handbrake
-    # mp4v2 doesn't seem to be actively maintained any more :-/
-    ./A02-meaningful-4gb-warning.patch
-
     (fetchurl {
       name = "gcc-7.patch";
       url = "https://src.fedoraproject.org/cgit/rpms/libmp4v2.git/plain/"
diff --git a/pkgs/development/libraries/mpfi/default.nix b/pkgs/development/libraries/mpfi/default.nix
index c88c8da637843..6b607e94bd494 100644
--- a/pkgs/development/libraries/mpfi/default.nix
+++ b/pkgs/development/libraries/mpfi/default.nix
@@ -1,15 +1,20 @@
 {stdenv, fetchurl, mpfr}:
 stdenv.mkDerivation rec {
   name = "mpfi-${version}";
-  version = "1.5.1";
+  version = "1.5.3";
+  file_nr = "37331";
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/30129/mpfi-${version}.tar.bz2";
-    sha256 = "0vk9jfcfiqda0zksg1ffy36pdznpng9b4nl7pfzpz9hps4v6bk1z";
+    # NOTE: the file_nr is whats important here. The actual package name (including the version)
+    # is ignored. To find out the correct file_nr, go to https://gforge.inria.fr/projects/mpfi/
+    # and click on Download in the section "Latest File Releases".
+    url = "https://gforge.inria.fr/frs/download.php/file/${file_nr}/mpfi-${version}.tar.bz2";
+    sha256 = "0bqr8yibl7jbrp0bw7xk1lm7nis7rv26jsz6y8ycvih8n9bx90r3";
   };
   buildInputs = [mpfr];
   meta = {
     inherit version;
     description = ''A multiple precision interval arithmetic library based on MPFR'';
+    homepage = https://gforge.inria.fr/projects/mpfi/;
     license = stdenv.lib.licenses.lgpl21Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix
index 4aac5a9270922..afb44dd80f914 100644
--- a/pkgs/development/libraries/mpfr/default.nix
+++ b/pkgs/development/libraries/mpfr/default.nix
@@ -3,11 +3,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "mpfr-3.1.6";
+  version = "4.0.1";
+  name = "mpfr-${version}";
 
   src = fetchurl {
     url = "mirror://gnu/mpfr/${name}.tar.xz";
-    sha256 = "0l598h9klpgkz2bp0rxiqb90mkqh9f2f81n5rpy191j00hdaqqks";
+    sha256 = "0vp1lrc08gcmwdaqck6bpzllkrykvp06vz5gnqpyw0v3h9h4m1v7";
   };
 
   outputs = [ "out" "dev" "doc" "info" ];
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://www.mpfr.org/;
+    homepage = https://www.mpfr.org/;
     description = "Library for multiple-precision floating-point arithmetic";
 
     longDescription = ''
diff --git a/pkgs/development/libraries/mpich2/default.nix b/pkgs/development/libraries/mpich/default.nix
index 4b8e2b651e454..87d24854255ae 100644
--- a/pkgs/development/libraries/mpich2/default.nix
+++ b/pkgs/development/libraries/mpich/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, python, perl, gfortran
-, slurm, openssh, hwloc
+{ stdenv, fetchurl, perl, gfortran
+,  openssh, hwloc
 } :
 
 stdenv.mkDerivation  rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation  rec {
   version = "3.2.1";
 
   src = fetchurl {
-    url = "http://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
+    url = "https://www.mpich.org/static/downloads/${version}/mpich-${version}.tar.gz";
     sha256 = "1w9h4g7d46d9l5jbcyfxpaqzpjrc5hyvr9d0ns7278psxpr3pdax";
   };
 
@@ -16,7 +16,9 @@ stdenv.mkDerivation  rec {
     "--enable-sharedlib"
   ];
 
-  buildInputs = [ perl gfortran slurm openssh hwloc ];
+  enableParallelBuilding = true;
+
+  buildInputs = [ perl gfortran openssh hwloc ];
 
   doCheck = true;
 
@@ -26,8 +28,12 @@ stdenv.mkDerivation  rec {
       echo "fix rpath: $entry"
       patchelf --set-rpath "$out/lib" $entry
     done
-  '';
 
+    # Ensure the default compilers are the ones mpich was built with
+    sed -i 's:CC="gcc":CC=${stdenv.cc}/bin/gcc:' $out/bin/mpicc
+    sed -i 's:CXX="g++":CXX=${stdenv.cc}/bin/g++:' $out/bin/mpicxx
+    sed -i 's:FC="gfortran":FC=${gfortran}/bin/gfortran:' $out/bin/mpifort
+  '';
 
   meta = with stdenv.lib; {
     description = "Implementation of the Message Passing Interface (MPI) standard";
@@ -43,6 +49,6 @@ stdenv.mkDerivation  rec {
       fullName = "MPICH license (permissive)";
     };
     maintainers = [ maintainers.markuskowa ];
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/mpir/default.nix b/pkgs/development/libraries/mpir/default.nix
index cbcf83f1d322b..fe9cd6f492e5a 100644
--- a/pkgs/development/libraries/mpir/default.nix
+++ b/pkgs/development/libraries/mpir/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, m4, which, yasm }:
+{ stdenv, fetchurl, m4, which, yasm }:
 
 stdenv.mkDerivation rec {
   name = "mpir-${version}";
@@ -11,12 +11,14 @@ stdenv.mkDerivation rec {
     sha256 = "1fvmhrqdjs925hzr2i8bszm50h00gwsh17p2kn2pi51zrxck9xjj";
   };
 
+  configureFlags = [ "--enable-cxx" ];
+
   meta = {
     inherit version;
     description = ''A highly optimised library for bignum arithmetic forked from GMP'';
     license = stdenv.lib.licenses.lgpl3Plus;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = stdenv.lib.platforms.unix;
     downloadPage = "http://mpir.org/downloads.html";
     homepage = http://mpir.org/;
     updateWalker = true;
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/msgpack/default.nix
index 8feacd4e36535..bf51f89540259 100644
--- a/pkgs/development/libraries/libmsgpack/default.nix
+++ b/pkgs/development/libraries/msgpack/default.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2.1.5";
+  version = "3.0.1";
 
   src = fetchFromGitHub {
     owner  = "msgpack";
     repo   = "msgpack-c";
     rev    = "cpp-${version}";
-    sha256 = "0n4kvma3dldfsvv7b0zw23qln6av5im2aqqd6m890i75zwwkw0zv";
+    sha256 = "0nr6y9v4xbvzv717j9w9lhmags1y2s5mq103v044qlyd2jkbg2p4";
   };
 })
diff --git a/pkgs/development/libraries/libmsgpack/generic.nix b/pkgs/development/libraries/msgpack/generic.nix
index 7bca8f21c6b9d..67418b6666d4e 100644
--- a/pkgs/development/libraries/libmsgpack/generic.nix
+++ b/pkgs/development/libraries/msgpack/generic.nix
@@ -5,7 +5,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libmsgpack-${version}";
+  name = "msgpack-${version}";
 
   inherit src patches;
 
@@ -13,17 +13,16 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  crossAttrs = {
-  } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    cmakeFlags = [
-      "-DMSGPACK_BUILD_EXAMPLES=OFF"
-      "-DCMAKE_SYSTEM_NAME=Windows"
-    ];
-  };
+  cmakeFlags = []
+    ++ stdenv.lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
+                           "-DMSGPACK_BUILD_EXAMPLES=OFF"
+    ++ stdenv.lib.optional (hostPlatform.libc == "msvcrt")
+                           "-DCMAKE_SYSTEM_NAME=Windows"
+    ;
 
   meta = with stdenv.lib; {
     description = "MessagePack implementation for C and C++";
-    homepage    = http://msgpack.org;
+    homepage    = https://msgpack.org;
     license     = licenses.asl20;
     maintainers = with maintainers; [ redbaron wkennington ];
     platforms   = platforms.all;
diff --git a/pkgs/development/libraries/msgpuck/default.nix b/pkgs/development/libraries/msgpuck/default.nix
new file mode 100644
index 0000000000000..e177694e894e0
--- /dev/null
+++ b/pkgs/development/libraries/msgpuck/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "msgpuck-${version}";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "rtsisyk";
+    repo = "msgpuck";
+    rev = "${version}";
+    sha256 = "0cjq86kncn3lv65vig9cqkqqv2p296ymcjjbviw0j1s85cfflps0";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  meta = with stdenv.lib; {
+     description = ''A simple and efficient MsgPack binary serialization library in a self-contained header file'';
+     homepage = https://github.com/rtsisyk/msgpuck;
+     license = licenses.bsd2;
+     platforms = platforms.linux;
+     maintainers = with maintainers; [ izorkin ];
+ };
+}
diff --git a/pkgs/development/libraries/mypaint-brushes/default.nix b/pkgs/development/libraries/mypaint-brushes/default.nix
new file mode 100644
index 0000000000000..140dbcc937b5f
--- /dev/null
+++ b/pkgs/development/libraries/mypaint-brushes/default.nix
@@ -0,0 +1,35 @@
+{stdenv, fetchpatch, autoconf, automake, fetchFromGitHub, pkgconfig}:
+
+let
+  pname = "mypaint-brushes";
+  version = "1.3.0";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "Jehan";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1iz89z6v2mp8j1lrf942k561s8311i3s34ap36wh4rybb2lq15m0";
+  };
+
+  nativeBuildInputs = [ autoconf automake pkgconfig ];
+
+  patches = [
+    # build with automake 1.16
+    (fetchpatch {
+      url = https://github.com/Jehan/mypaint-brushes/commit/1e9109dde3bffd416ed351c3f30ecd6ffd0ca2cd.patch;
+      sha256 = "0mi8rwbirl0ib22f2hz7kdlgi4hw8s3ab29b003dsshdyzn5iha9";
+    })
+  ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    homepage = http://mypaint.org/;
+    description = "Brushes used by MyPaint and other software using libmypaint.";
+    license = licenses.cc0;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/nanomsg/default.nix b/pkgs/development/libraries/nanomsg/default.nix
index 99c9c5f16001e..f50b64fca3ed2 100644
--- a/pkgs/development/libraries/nanomsg/default.nix
+++ b/pkgs/development/libraries/nanomsg/default.nix
@@ -1,21 +1,21 @@
 { stdenv, cmake, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  version = "1.1.2";
+  version = "1.1.4";
   name = "nanomsg-${version}";
 
   src = fetchFromGitHub {
     owner = "nanomsg";
     repo = "nanomsg";
     rev = version;
-    sha256 = "1zvs91afsg61azfv5fldv84gnhf76w3yndkdvpvaprlacxbxdvf5";
+    sha256 = "11mxbhkxkzqwdmpl79mfiiqby7zawgkalips7zr0bbdfyhq7jyrl";
   };
 
   buildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description= "Socket library that provides several common communication patterns";
-    homepage = http://nanomsg.org/;
+    homepage = https://nanomsg.org/;
     license = licenses.mit;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index abb3020e5fbad..861b387a993ab 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, pkgconfig
 
-, abiVersion
+, abiVersion ? "6"
 , mouseSupport ? false
 , unicode ? true
 , enableStatic ? stdenv.hostPlatform.useAndroidPrebuilt
@@ -21,7 +21,9 @@ stdenv.mkDerivation rec {
     sha256 = "05qdmbmrrn88ii9f66rkcmcyzp1kb1ymkx7g040lfkd1nkp7w1da";
   };
 
-  patches = lib.optional (!stdenv.cc.isClang) ./clang.patch;
+  # The patch st-0.7.patch needs to be removed, if ncurses is upgraded in the future.
+  # It is necessary for the 6.1 version of ncurses.
+  patches = [ ./st-0.7.patch ] ++ lib.optional (!stdenv.cc.isClang) ./clang.patch;
 
   outputs = [ "out" "dev" "man" ];
   setOutputFlags = false; # some aren't supported
@@ -32,9 +34,12 @@ stdenv.mkDerivation rec {
     "--enable-pc-files"
     "--enable-symlinks"
   ] ++ lib.optional unicode "--enable-widec"
-    ++ lib.optional enableStatic "--enable-static"
     ++ lib.optional (!withCxx) "--without-cxx"
-    ++ lib.optional (abiVersion == "5") "--with-abi-version=5";
+    ++ lib.optional (abiVersion == "5") "--with-abi-version=5"
+    ++ lib.optionals hostPlatform.isWindows [
+      "--enable-sp-funcs"
+      "--enable-term-driver"
+    ];
 
   # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
   CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED";
@@ -72,7 +77,9 @@ stdenv.mkDerivation rec {
   # When building a wide-character (Unicode) build, create backward
   # compatibility links from the the "normal" libraries to the
   # wide-character libraries (e.g. libncurses.so to libncursesw.so).
-  postFixup = ''
+  postFixup = let
+    abiVersion-extension = if stdenv.isDarwin then "${abiVersion}.$dylibtype" else "$dylibtype.${abiVersion}"; in
+  ''
     # Determine what suffixes our libraries have
     suffix="$(awk -F': ' 'f{print $3; f=0} /default library suffix/{f=1}' config.log)"
     libs="$(ls $dev/lib/pkgconfig | tr ' ' '\n' | sed "s,\(.*\)$suffix\.pc,\1,g")"
@@ -95,18 +102,23 @@ stdenv.mkDerivation rec {
         for dylibtype in so dll dylib; do
           if [ -e "$out/lib/lib''${library}$suffix.$dylibtype" ]; then
             ln -svf lib''${library}$suffix.$dylibtype $out/lib/lib$library$newsuffix.$dylibtype
-            ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/lib$library$newsuffix.$dylibtype.${abiVersion}
+            ln -svf lib''${library}$suffix.${abiVersion-extension} $out/lib/lib$library$newsuffix.${abiVersion-extension}
             if [ "ncurses" = "$library" ]
             then
               # make libtinfo symlinks
               ln -svf lib''${library}$suffix.$dylibtype $out/lib/libtinfo$newsuffix.$dylibtype
-              ln -svf lib''${library}$suffix.$dylibtype.${abiVersion} $out/lib/libtinfo$newsuffix.$dylibtype.${abiVersion}
+              ln -svf lib''${library}$suffix.${abiVersion-extension} $out/lib/libtinfo$newsuffix.${abiVersion-extension}
             fi
           fi
         done
         for statictype in a dll.a la; do
           if [ -e "$out/lib/lib''${library}$suffix.$statictype" ]; then
             ln -svf lib''${library}$suffix.$statictype $out/lib/lib$library$newsuffix.$statictype
+            if [ "ncurses" = "$library" ]
+            then
+              # make libtinfo symlinks
+              ln -svf lib''${library}$suffix.$statictype $out/lib/libtinfo$newsuffix.$statictype
+            fi
           fi
         done
         ln -svf ''${library}$suffix.pc $dev/lib/pkgconfig/$library$newsuffix.pc
@@ -125,7 +137,7 @@ stdenv.mkDerivation rec {
     moveToOutput "bin/infotocap" "$out"
   '';
 
-  preFixup = lib.optionalString (!hostPlatform.isCygwin) ''
+  preFixup = lib.optionalString (!hostPlatform.isCygwin && !enableStatic) ''
     rm "$out"/lib/*.a
   '';
 
diff --git a/pkgs/development/libraries/ncurses/st-0.7.patch b/pkgs/development/libraries/ncurses/st-0.7.patch
new file mode 100644
index 0000000000000..956f9b68d68fe
--- /dev/null
+++ b/pkgs/development/libraries/ncurses/st-0.7.patch
@@ -0,0 +1,13 @@
+diff --git a/misc/terminfo.src b/misc/terminfo.src
+index 84f4810..ac300a7 100644
+--- a/misc/terminfo.src
++++ b/misc/terminfo.src
+@@ -6260,7 +6260,7 @@ st-0.7|simpleterm 0.7,
+ 	     %=%t3%e%p1%d%;m,
+ 	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+ 	    %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
+-	Ss=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
++	Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B, kDN5=\E[1;5B,
+ 	kLFT3=\E[1;3D, kLFT5=\E[1;5D, kNXT3=\E[6;3~,
+ 	kNXT5=\E[6;5~, kPRV3=\E[5;3~, kPRV5=\E[5;5~,
+ 	kRIT3=\E[1;3C, kRIT5=\E[1;5C, kUP3=\E[1;3A, kUP5=\E[1;5A,
diff --git a/pkgs/development/libraries/ndn-cxx/default.nix b/pkgs/development/libraries/ndn-cxx/default.nix
index ee7d4765fb221..1040cb9a9343b 100644
--- a/pkgs/development/libraries/ndn-cxx/default.nix
+++ b/pkgs/development/libraries/ndn-cxx/default.nix
@@ -45,5 +45,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl3;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ maintainers.sjmackenzie ];
+    broken = true; # 2018-04-11
   };
 }
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index c84cddc897c1c..0fd531fa282f3 100644
--- a/pkgs/development/libraries/ndpi/default.nix
+++ b/pkgs/development/libraries/ndpi/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, which, autoconf, automake, libtool, libpcap }:
 
-let version = "1.8"; in
+let version = "2.2"; in
 
 stdenv.mkDerivation rec {
   name = "ndpi-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "ntop";
     repo = "nDPI";
     rev = "${version}";
-    sha256 = "0kxp9dv4d1nmr2cxv6zsfy2j14wyb0q6am0qyxg0npjb08p7njf4";
+    sha256 = "06gg8lhn944arlczmv5i40jkjdnl1nrvsmvm843l9ybcswpayv4m";
   };
 
   configureScript = "./autogen.sh";
diff --git a/pkgs/development/libraries/neardal/default.nix b/pkgs/development/libraries/neardal/default.nix
index e0adb312677c5..65679c7e28251 100644
--- a/pkgs/development/libraries/neardal/default.nix
+++ b/pkgs/development/libraries/neardal/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, libtool, gettext, pkgconfig, glib, readline, makeWrapper }:
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, glib, readline, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "neardal-0.7-post-git-20150930";
diff --git a/pkgs/development/libraries/neon/0.29.nix b/pkgs/development/libraries/neon/0.29.nix
index e393d50bf9d22..d0f992efb2bca 100644
--- a/pkgs/development/libraries/neon/0.29.nix
+++ b/pkgs/development/libraries/neon/0.29.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, pkgconfig
+{ stdenv, fetchurl, libxml2, pkgconfig, perl
 , compressionSupport ? true, zlib ? null
 , sslSupport ? true, openssl ? null
 , static ? false
@@ -28,16 +28,18 @@ stdenv.mkDerivation rec {
   buildInputs = [libxml2 openssl]
     ++ stdenv.lib.optional compressionSupport zlib;
 
-  configureFlags = ''
-    ${if shared then "--enable-shared" else "--disable-shared"}
-    ${if static then "--enable-static" else "--disable-static"}
-    ${if compressionSupport then "--with-zlib" else "--without-zlib"}
-    ${if sslSupport then "--with-ssl" else "--without-ssl"}
-    --enable-shared
-  '';
+  configureFlags = [
+    (stdenv.lib.enableFeature shared "shared")
+    (stdenv.lib.enableFeature static "static")
+    (stdenv.lib.withFeature compressionSupport "zlib")
+    (stdenv.lib.withFeature sslSupport "ssl")
+  ];
 
   passthru = {inherit compressionSupport sslSupport;};
 
+  checkInputs = [ perl ];
+  doCheck = false; # fails, needs the net
+
   meta = {
     description = "An HTTP and WebDAV client library";
     homepage = http://www.webdav.org/neon/;
diff --git a/pkgs/development/libraries/neon/default.nix b/pkgs/development/libraries/neon/default.nix
index 2351e3b0800b7..7aad5be36f705 100644
--- a/pkgs/development/libraries/neon/default.nix
+++ b/pkgs/development/libraries/neon/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, libxml2, pkgconfig
+{ stdenv, fetchurl, libxml2, pkgconfig, perl
 , compressionSupport ? true, zlib ? null
 , sslSupport ? true, openssl ? null
 , static ? false
@@ -28,16 +28,18 @@ stdenv.mkDerivation rec {
   buildInputs = [libxml2 openssl]
     ++ stdenv.lib.optional compressionSupport zlib;
 
-  configureFlags = ''
-    ${if shared then "--enable-shared" else "--disable-shared"}
-    ${if static then "--enable-static" else "--disable-static"}
-    ${if compressionSupport then "--with-zlib" else "--without-zlib"}
-    ${if sslSupport then "--with-ssl" else "--without-ssl"}
-    --enable-shared
-  '';
+  configureFlags = [
+    (stdenv.lib.enableFeature shared "shared")
+    (stdenv.lib.enableFeature static "static")
+    (stdenv.lib.withFeature compressionSupport "zlib")
+    (stdenv.lib.withFeature sslSupport "ssl")
+  ];
 
   passthru = {inherit compressionSupport sslSupport;};
 
+  checkInputs = [ perl ];
+  doCheck = false; # fails, needs the net
+
   meta = {
     description = "An HTTP and WebDAV client library";
     homepage = http://www.webdav.org/neon/;
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index 8446a91cceca4..7d0e934d911c2 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -16,6 +16,15 @@ in stdenv.mkDerivation rec {
     sha256 = "0hi61cdihwwvz5jz1l7yq712j7ca1cj4bhr8x0x7c2vlb1s9biw9";
   };
 
+  postPatch = ''
+    patchShebangs .
+
+    # this test requires the net
+    for a in ncdap_test/Makefile.am ncdap_test/Makefile.in; do
+      substituteInPlace $a --replace testurl.sh " "
+    done
+  '';
+
   nativeBuildInputs = [ m4 ];
   buildInputs = [ hdf5 curl mpi ];
 
diff --git a/pkgs/development/libraries/newt/default.nix b/pkgs/development/libraries/newt/default.nix
index cd1e51bd19c16..a10f52462a8e3 100644
--- a/pkgs/development/libraries/newt/default.nix
+++ b/pkgs/development/libraries/newt/default.nix
@@ -22,9 +22,10 @@ stdenv.mkDerivation rec {
     unset CPP
   '';
 
-  crossAttrs = {
-    makeFlags = "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
-  };
+  # Use `lib.optionalString` next mass rebuild.
+  makeFlags = if stdenv.buildPlatform == stdenv.hostPlatform
+              then null
+              else "CROSS_COMPILE=${stdenv.cc.targetPrefix}";
 
   meta = with stdenv.lib; {
     homepage = https://fedorahosted.org/newt/;
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index d534cd59bd832..68bffd4032d2b 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -17,11 +17,11 @@ let inherit (stdenv.lib) optional; in
 
 stdenv.mkDerivation rec {
   name = "nghttp2-${version}";
-  version = "1.24.0";
+  version = "1.32.0";
 
   src = fetchurl {
     url = "https://github.com/nghttp2/nghttp2/releases/download/v${version}/nghttp2-${version}.tar.bz2";
-    sha256 = "18ys6p39yvm9wjjzhhlw35c9m8f5gf4dk9jbshibj19q4js1pnv9";
+    sha256 = "0jlndbp4bnyvdg8b59pznrzz0bvwb9nmag7zgcflg51lm1pq2q06";
   };
 
   outputs = [ "bin" "out" "dev" "lib" ];
diff --git a/pkgs/development/libraries/nix-plugins/default.nix b/pkgs/development/libraries/nix-plugins/default.nix
index 8ccaf726e6b0d..ff8a54f87f2af 100644
--- a/pkgs/development/libraries/nix-plugins/default.nix
+++ b/pkgs/development/libraries/nix-plugins/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchFromGitHub, nix, cmake, pkgconfig }:
-let version = "3.0.1"; in
+{ stdenv, fetchFromGitHub, nix, cmake, pkgconfig, boost }:
+let version = "4.0.5"; in
 stdenv.mkDerivation {
   name = "nix-plugins-${version}";
 
@@ -7,12 +7,12 @@ stdenv.mkDerivation {
     owner = "shlevy";
     repo = "nix-plugins";
     rev = version;
-    sha256 = "1pmk2m0kc6a3jqygm5cy1fl5gbcy0ghc2xs4ww0gh20walrys82r";
+    sha256 = "170f365rnik62fp9wllbqlspr8lf1yb96pmn2z708i2wjlkdnrny";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
-  buildInputs = [ nix ];
+  buildInputs = [ nix boost ];
 
   meta = {
     description = "Collection of miscellaneous plugins for the nix expression language";
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 59cc9438a9f17..0221722e4875d 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -4,28 +4,26 @@
 
 stdenv.mkDerivation rec {
   name = "nlohmann_json-${version}";
-  version = "3.1.2";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "1mpr781fb2dfbyscrr7nil75lkxsazg4wkm749168lcf2ksrrbfi";
+    sha256 = "0585r6ai9x1bhspffn5w5620wxfl1q1gj476brsnaf7wwnr60hwk";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  doCheck = true;
-  checkTarget = "test";
-
   enableParallelBuilding = true;
 
-  crossAttrs = {
-    cmakeFlags = "-DBuildTests=OFF";
-    doCheck = false;
-  } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    cmakeFlags = "-DBuildTests=OFF -DCMAKE_SYSTEM_NAME=Windows";
-  };
+  cmakeFlags = [
+    "-DBuildTests=${if doCheck then "ON" else "OFF"}"
+  ] ++ stdenv.lib.optionals (hostPlatform.libc == "msvcrt") [
+    "-DCMAKE_SYSTEM_NAME=Windows"
+  ];
+
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   meta = with stdenv.lib; {
     description = "Header only C++ library for the JSON file format";
diff --git a/pkgs/development/libraries/nlopt/default.nix b/pkgs/development/libraries/nlopt/default.nix
index 3696578b8e040..904cdc6a3daa9 100644
--- a/pkgs/development/libraries/nlopt/default.nix
+++ b/pkgs/development/libraries/nlopt/default.nix
@@ -10,11 +10,18 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ octave ];
 
-  configureFlags = "--with-cxx --enable-shared --with-pic --without-guile --without-python
-  --without-matlab " +
-    stdenv.lib.optionalString (octave != null) ("--with-octave " +
-        "M_INSTALL_DIR=$(out)/${octave.sitePath}/m " +
-        "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct ");
+  configureFlags = [
+    "--with-cxx"
+    "--enable-shared"
+    "--with-pic"
+    "--without-guile"
+    "--without-python"
+    "--without-matlab"
+  ] ++ stdenv.lib.optionals (octave != null) [
+    "--with-octave"
+    "M_INSTALL_DIR=$(out)/${octave.sitePath}/m"
+    "OCT_INSTALL_DIR=$(out)/${octave.sitePath}/oct"
+  ];
 
   meta = {
     homepage = http://ab-initio.mit.edu/nlopt/;
diff --git a/pkgs/development/libraries/npth/default.nix b/pkgs/development/libraries/npth/default.nix
index a600938cdbb24..c02998184fc56 100644
--- a/pkgs/development/libraries/npth/default.nix
+++ b/pkgs/development/libraries/npth/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "npth-1.5";
+  name = "npth-1.6";
 
   src = fetchurl {
-    url = "ftp://ftp.gnupg.org/gcrypt/npth/${name}.tar.bz2";
-    sha256 = "1hmkkp6vzyrh8v01c2ynzf9vwikyagp7p1lxhbnr4ysk3w66jji9";
+    url = "mirror://gnupg/npth/${name}.tar.bz2";
+    sha256 = "1lg2lkdd3z1s3rpyf88786l243adrzyk9p4q8z9n41ygmpcsp4qk";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 17805f32afb11..ce18498ee858a 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl
 , CoreServices ? null }:
 
-let version = "4.18"; in
+let version = "4.19"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "0d7vr3wrgp73qbywrvdkikk8vq1s1n9vhf62db80g1zqkg05g5mq";
+    sha256 = "0agpv3f17h8kmzi0ifibaaxc1k3xc0q61wqw3l6r2xr2z8bmkn9f";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 8662b956ce222..3089e6da23ae3 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -1,13 +1,6 @@
 { stdenv, fetchurl, nspr, perl, zlib, sqlite, fixDarwinDylibNames }:
 
 let
-
-  # Fix aarch64 build, shouldn't be needed after 3.35
-  aarch64Patch = fetchurl {
-    url = https://hg.mozilla.org/projects/nss/raw-rev/74e679158d1b;
-    sha256 = "1lhs4h32mb2al3z461yylk227nid769di1pdjr7p0kqm2z1qm3jq";
-  };
-
   nssPEM = fetchurl {
     url = http://dev.gentoo.org/~polynomial-c/mozilla/nss-3.15.4-pem-support-20140109.patch.xz;
     sha256 = "10ibz6y0hknac15zr6dw4gv9nb5r5z9ym6gq18j3xqx7v7n3vpdw";
@@ -15,11 +8,11 @@ let
 
 in stdenv.mkDerivation rec {
   name = "nss-${version}";
-  version = "3.35";
+  version = "3.38";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_35_RTM/src/${name}.tar.gz";
-    sha256 = "1ypn68z9ncbbshi3184ywrhx5i846lyd72gps1grzqzdkgh7s4pl";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_38_RTM/src/${name}.tar.gz";
+    sha256 = "0qigcy3d169cf67jzv3rbai0m6dn34vp8h2z696mz4yn10y3sr1c";
   };
 
   buildInputs = [ perl zlib sqlite ]
@@ -29,8 +22,6 @@ in stdenv.mkDerivation rec {
 
   prePatch = ''
     xz -d < ${nssPEM} | patch -p1
-  '' + stdenv.lib.optionalString stdenv.isAarch64 ''
-      (cd nss && patch -p1 < ${aarch64Patch})
   '';
 
   patches =
@@ -64,6 +55,11 @@ in stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = "-Wno-error";
 
+  # TODO(@oxij): investigate this: `make -n check` works but `make
+  # check` fails with "no rule", same for "installcheck".
+  doCheck = false;
+  doInstallCheck = false;
+
   postInstall = ''
     rm -rf $out/private
     mv $out/public $out/include
@@ -117,9 +113,10 @@ in stdenv.mkDerivation rec {
     rm -f "$out"/lib/*.a
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://developer.mozilla.org/en-US/docs/NSS;
     description = "A set of libraries for development of security-enabled client and server applications";
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.mpl20;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/ntdb/default.nix b/pkgs/development/libraries/ntdb/default.nix
index d26b15176aa6f..a70cba625a897 100644
--- a/pkgs/development/libraries/ntdb/default.nix
+++ b/pkgs/development/libraries/ntdb/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "The not-so trivial database";
-    homepage = http://tdb.samba.org/;
+    homepage = https://tdb.samba.org/;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ wkennington ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/ntl/default.nix b/pkgs/development/libraries/ntl/default.nix
index 32467e4849b54..63a51a90ccd24 100644
--- a/pkgs/development/libraries/ntl/default.nix
+++ b/pkgs/development/libraries/ntl/default.nix
@@ -1,27 +1,62 @@
-{ stdenv, fetchurl, perl, gmp, libtool
+{ stdenv
+, lib
+, fetchurl
+, perl
+, gmp
+, gf2x ? null
+# I asked the ntl maintainer weather or not to include gf2x by default:
+# > If I remember correctly, gf2x is now thread safe, so there's no reason not to use it.
+, withGf2x ? true
+, tune ? false # tune for current system; non reproducible and time consuming
 }:
 
+assert withGf2x -> gf2x != null;
+
 stdenv.mkDerivation rec {
   name = "ntl-${version}";
-  version = "9.11.0";
+  version = "11.3.0";
+
   src = fetchurl {
     url = "http://www.shoup.net/ntl/ntl-${version}.tar.gz";
-    sha256 = "1wcwxpcby1c50llncz131334qq26lzh3dz21rahymgvakrq0369p";
+    sha256 = "1pcib3vz1sdqlk0n561wbf7fwq44jm5cpx710w4vqljxgrjd7q1s";
   };
 
-  buildInputs = [ perl gmp libtool ];
+  buildInputs = [
+    gmp
+  ];
+
+  nativeBuildInputs = [
+    perl # needed for ./configure
+  ];
 
   sourceRoot = "${name}/src";
 
   enableParallelBuilding = true;
 
-  dontAddPrefix = true;
+  dontAddPrefix = true; # DEF_PREFIX instead
 
-  configureFlags = [ "DEF_PREFIX=$(out)" "WIZARD=off" "SHARED=on" "NATIVE=off" "CXX=c++" ];
+  # reference: http://shoup.net/ntl/doc/tour-unix.html
+  configureFlags = [
+    "DEF_PREFIX=$(out)"
+    "SHARED=on" # genereate a shared library (as well as static)
+    "NATIVE=off" # don't target code to current hardware (reproducibility, portability)
+    "TUNE=${
+      if tune then
+        "auto"
+      else if stdenv.targetPlatform.isx86 then
+        "x86" # "chooses options that should be well suited for most x86 platforms"
+      else
+        "generic" # "chooses options that should be OK for most platforms"
+    }"
+    "CXX=c++"
+  ] ++ lib.optionals withGf2x [
+    "NTL_GF2X_LIB=on"
+    "GF2X_PREFIX=${gf2x}"
+  ];
 
-  # doCheck = true; # takes some time
+  doCheck = true; # takes some time
 
-  meta = {
+  meta = with lib; {
     description = "A Library for doing Number Theory";
     longDescription = ''
       NTL is a high-performance, portable C++ library providing data
@@ -29,8 +64,11 @@ stdenv.mkDerivation rec {
       length integers, and for vectors, matrices, and polynomials over
       the integers and over finite fields.
     '';
+    # Upstream contact: maintainer is victorshoup on GitHub. Alternatively the
+    # email listed on the homepage.
     homepage = http://www.shoup.net/ntl/;
-    license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.all;
+    maintainers = with maintainers; [ timokau ];
+    license = licenses.gpl2Plus;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix
index 3483d4bed778d..44c8f51e856a4 100644
--- a/pkgs/development/libraries/ntrack/default.nix
+++ b/pkgs/development/libraries/ntrack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, qt4, pkgconfig, libnl, python }:
+{ stdenv, fetchurl, qt4, pkgconfig, libnl, python }:
 
 let
   version = "016";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig python ];
 
-  configureFlags = "--without-gobject CFLAGS=--std=gnu99";
+  configureFlags = [ "--without-gobject" "CFLAGS=--std=gnu99" ];
 
   # Remove this patch after version 016
   patches = [ ./libnl-fix.patch ];
diff --git a/pkgs/development/libraries/nvidia-texture-tools/default.nix b/pkgs/development/libraries/nvidia-texture-tools/default.nix
index 034fbf34385f3..77167361ff20e 100644
--- a/pkgs/development/libraries/nvidia-texture-tools/default.nix
+++ b/pkgs/development/libraries/nvidia-texture-tools/default.nix
@@ -36,6 +36,6 @@ stdenv.mkDerivation rec {
     description = "A set of cuda-enabled texture tools and compressors";
     homepage = https://github.com/castano/nvidia-texture-tools;
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/ocl-icd/default.nix b/pkgs/development/libraries/ocl-icd/default.nix
index afd2a7b12dfaa..ec6dc5f905280 100644
--- a/pkgs/development/libraries/ocl-icd/default.nix
+++ b/pkgs/development/libraries/ocl-icd/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, ruby, opencl-headers, libGL }:
+{stdenv, fetchurl, ruby, opencl-headers, libGL_driver }:
 
 stdenv.mkDerivation rec {
   name = "ocl-icd-${version}";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ opencl-headers ];
 
   postPatch = ''
-    sed -i 's,"/etc/OpenCL/vendors","${libGL.driverLink}/etc/OpenCL/vendors",g' ocl_icd_loader.c
+    sed -i 's,"/etc/OpenCL/vendors","${libGL_driver.driverLink}/etc/OpenCL/vendors",g' ocl_icd_loader.c
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/odpic/default.nix b/pkgs/development/libraries/odpic/default.nix
new file mode 100644
index 0000000000000..2715ff4dfaffc
--- /dev/null
+++ b/pkgs/development/libraries/odpic/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchurl, fixDarwinDylibNames, oracle-instantclient, libaio }:
+
+stdenv.mkDerivation rec {
+  name = "odpic-${version}";
+  version = "2.4.2";
+
+  src = fetchurl {
+    url = "https://github.com/oracle/odpi/archive/v${version}.tar.gz";
+    sha256 = "0hw6b38vnh0cgm1iwpgkqa2am86baal6irp9bglacblwh8sshqdi";
+  };
+
+  nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin [ fixDarwinDylibNames ];
+
+  buildInputs = [ oracle-instantclient ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ libaio ];
+
+  libPath = stdenv.lib.makeLibraryPath
+    [ oracle-instantclient ];
+
+  dontPatchELF = true;
+  makeFlags = [ "PREFIX=$(out)" "CC=cc" "LD=cc"];
+
+  postFixup = ''
+    ${stdenv.lib.optionalString (stdenv.isLinux) ''
+      patchelf --set-rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
+    ''}
+    ${stdenv.lib.optionalString (stdenv.isDarwin) ''
+      install_name_tool -add_rpath "${libPath}" $out/lib/libodpic${stdenv.hostPlatform.extensions.sharedLibrary}
+    ''}
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Oracle ODPI-C library";
+    homepage = "https://oracle.github.io/odpi/";
+    maintainers = with maintainers; [ mkazulak flokli ];
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    hydraPlatforms = [];
+  };
+}
diff --git a/pkgs/development/libraries/olm/default.nix b/pkgs/development/libraries/olm/default.nix
index e044a7bde423f..05888ad60bb17 100644
--- a/pkgs/development/libraries/olm/default.nix
+++ b/pkgs/development/libraries/olm/default.nix
@@ -2,21 +2,25 @@
 
 stdenv.mkDerivation rec {
   name = "olm-${version}";
-  version = "2.2.1";
+  version = "2.3.0";
 
   meta = {
     description = "Implements double cryptographic ratchet and Megolm ratchet";
     license = stdenv.lib.licenses.asl20;
     homepage = https://matrix.org/git/olm/about;
+    platforms = stdenv.lib.platforms.linux;
   };
 
   src = fetchurl {
     url = "https://matrix.org/git/olm/snapshot/${name}.tar.gz";
-    sha256 = "1spgsjmsw8afm2hg1mrq9c7cli3p17wl0ns7qbzn0h6ksh193709";
+    sha256 = "1y2yasq94zjw3nadn1915j85xwc5j3pic3brhp0h83l6hkxi8dsk";
   };
 
   doCheck = true;
   checkTarget = "test";
 
+  # requires optimisation but memory operations are compiled with -O0
+  hardeningDisable = ["fortify"];
+
   installFlags = "PREFIX=$(out)";
 }
diff --git a/pkgs/development/libraries/oniguruma/default.nix b/pkgs/development/libraries/oniguruma/default.nix
index 974c2e482ea50..f9a75801e101e 100644
--- a/pkgs/development/libraries/oniguruma/default.nix
+++ b/pkgs/development/libraries/oniguruma/default.nix
@@ -2,27 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "onig-${version}";
-  version = "6.7.1";
+  version = "6.8.2";
 
   src = fetchFromGitHub {
     owner = "kkos";
     repo = "oniguruma";
     rev = "v${version}";
-    sha256 = "07xbx4f3h1aqvy6587xbr8fgcn679ph3bd86pp144y0agzw0d0q2";
+    sha256 = "00ly5i26n7wajhyhq3xadsc7dxrf7qllhwilk8dza2qj5dhld4nd";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  prePatch = stdenv.lib.optional stdenv.isDarwin ''
-    substituteInPlace cmake/dist.cmake \
-      --replace '@executable_path/''${UP_DIR}/''${INSTALL_LIB}' $out'/''${INSTALL_LIB}'
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = https://github.com/kkos/oniguruma;
     description = "Regular expressions library";
-    license = stdenv.lib.licenses.bsd2;
-    maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
-    platforms = with stdenv.lib.platforms; unix;
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ fuuzetsu ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/opae/default.nix b/pkgs/development/libraries/opae/default.nix
new file mode 100644
index 0000000000000..b60a53e55ca1b
--- /dev/null
+++ b/pkgs/development/libraries/opae/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, cmake
+, libuuid, json_c
+, doxygen, perl, python2, python2Packages
+}:
+
+stdenv.mkDerivation rec {
+  name    = "opae-${version}";
+  version = "1.0.0";
+
+  # the tag has a silly name for some reason. drop this in the future if
+  # possible
+  tver    = "${version}-5";
+
+  src = fetchFromGitHub {
+    owner  = "opae";
+    repo   = "opae-sdk";
+    rev    = "refs/tags/${tver}";
+    sha256 = "1dmkpnr9dqxwjhbdzx2r3fdfylvinda421yyg319am5gzlysxwi8";
+  };
+
+  doCheck = false;
+
+  nativeBuildInputs = [ cmake doxygen perl python2Packages.sphinx ];
+  buildInputs = [ libuuid json_c python2 ];
+
+  # Set the Epoch to 1980; otherwise the Python wheel/zip code
+  # gets very angry
+  preConfigure = ''
+    find . -type f | while read file; do
+      touch -d @315532800 $file;
+    done
+  '';
+
+  cmakeFlags = [ "-DBUILD_ASE=1" ];
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Open Programmable Acceleration Engine SDK";
+    homepage    = https://01.org/opae;
+    license     = licenses.bsd3;
+    platforms   = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}
diff --git a/pkgs/development/libraries/openbabel/default.nix b/pkgs/development/libraries/openbabel/default.nix
index 61024a33113e0..bfbf6f1212fbb 100644
--- a/pkgs/development/libraries/openbabel/default.nix
+++ b/pkgs/development/libraries/openbabel/default.nix
@@ -19,5 +19,6 @@ stdenv.mkDerivation rec {
   meta = {
     platforms = stdenv.lib.platforms.all;
     maintainers = [ ];
+    license = stdenv.lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch b/pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch
new file mode 100644
index 0000000000000..77b9e1febddc5
--- /dev/null
+++ b/pkgs/development/libraries/openbsm/bsm-add-audit_token_to_pid.patch
@@ -0,0 +1,24 @@
+Subject: Add audit_token_to_pid()
+
+Description: Apple provides audit_token_to_pid to get the pid of an
+audit token. Unfortunately, they have never released this to the
+OpenBSM project.
+
+diff -r -u -p1 a/bsm/libbsm.h b/bsm/libbsm.h
+--- a/bsm/libbsm.h	      2009-04-15 16:45:54.000000000 -0500
++++ b/bsm/libbsm.h	      2018-05-11 04:11:14.063083147 -0500
+@@ -1298,1 +1298,2 @@ int audit_set_stat(au_stat_t *stats, siz
+ int audit_send_trigger(int *trigger);
++pid_t audit_token_to_pid(audit_token_t atoken);
+
+diff -r -u -p1 a/libbsm/bsm_wrappers.c b/libbsm/bsm_wrappers.c
+--- a/libbsm/bsm_wrappers.c	       2009-04-15 16:46:06.000000000 -0500
++++ b/libbsm/bsm_wrappers.c	       2018-05-11 04:10:15.710820393 -0500
+@@ -823,1 +823,6 @@ audit_get_car(char *path, size_t sz)
+ }
++
++pid_t audit_token_to_pid(audit_token_t atoken)
++{
++	return atoken.val[5];
++}
+ 
\ No newline at end of file
diff --git a/pkgs/development/libraries/openbsm/default.nix b/pkgs/development/libraries/openbsm/default.nix
new file mode 100644
index 0000000000000..a9559c6abfbac
--- /dev/null
+++ b/pkgs/development/libraries/openbsm/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, lib }:
+
+stdenv.mkDerivation rec {
+  pname = "openbsm";
+  name = "${pname}-${version}";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "${lib.toUpper (builtins.replaceStrings ["." "-"] ["_" "_"] name)}";
+    sha256 = "0b98359hd8mm585sh145ss828pg2y8vgz38lqrb7nypapiyqdnd1";
+  };
+
+  patches = [ ./bsm-add-audit_token_to_pid.patch ];
+
+  meta = {
+    homepage = http://www.openbsm.org/;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ matthewbauer ];
+    license = lib.licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/libraries/opencollada/default.nix b/pkgs/development/libraries/opencollada/default.nix
index fb1199367037e..358c8cda592fb 100644
--- a/pkgs/development/libraries/opencollada/default.nix
+++ b/pkgs/development/libraries/opencollada/default.nix
@@ -4,13 +4,13 @@
 stdenv.mkDerivation rec {
   name = "opencollada-${version}";
 
-  version = "1.6.62";
+  version = "1.6.63";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenCOLLADA";
     rev = "v${version}";
-    sha256 = "0bqki6sdvxsp9drzj87ma6n7m98az9pr0vyxhgw8b8b9knk8c48r";
+    sha256 = "1x8hz5nkz4lxsf17jv8sdl92dmbbpkqck8jkkc6g32d8gbs3gha1";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -21,7 +21,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  patchPhase = lib.optionalString stdenv.isDarwin ''
+  patchPhase = ''
+    patch -p1 < ${./pcre.patch}
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace GeneratedSaxParser/src/GeneratedSaxParserUtils.cpp \
       --replace math.h cmath
   '';
@@ -31,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/KhronosGroup/OpenCOLLADA/;
     maintainers = [ stdenv.lib.maintainers.eelco ];
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/libraries/opencollada/pcre.patch b/pkgs/development/libraries/opencollada/pcre.patch
new file mode 100644
index 0000000000000..39408f5a61e38
--- /dev/null
+++ b/pkgs/development/libraries/opencollada/pcre.patch
@@ -0,0 +1,14 @@
+diff --git a/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h b/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h
+index 22f2598b..269c50ca 100644
+--- a/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h
++++ b/COLLADABaseUtils/include/COLLADABUPcreCompiledPattern.h
+@@ -13,8 +13,7 @@
+ 

+ #include "COLLADABUPrerequisites.h"

+ 

+-struct real_pcre;
+-typedef struct real_pcre pcre;
++#include "pcre.h"
+ 

+ 

+ namespace COLLADABU

diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index 3b0e60fca3955..751d845f773ed 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "opencolorio-${version}";
-  version = "1.0.9";
+  version = "1.1.0";
 
   src = fetchurl {
     url = "https://github.com/imageworks/OpenColorIO/archive/v1.0.9.zip";
-    sha256 = "14j80dgbb6f09z63aqh2874vhzpga6zksz8jmqnj1zh87x15pqnr";
+    sha256 = "1vi5pcgj7gv8fp6cdnhszwfh7lh38rl2rk4c5yzsvmgcb7xf48bx";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/development/libraries/openct/default.nix b/pkgs/development/libraries/openct/default.nix
index 5eb08ecd60140..bddb0e1479e2b 100644
--- a/pkgs/development/libraries/openct/default.nix
+++ b/pkgs/development/libraries/openct/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     homepage = https://github.com/OpenSC/openct/;
     license = licenses.lgpl21;
     description = "Drivers for several smart card readers";
-    maintainers = with maintainers; [ viric wkennington ];
+    maintainers = with maintainers; [ wkennington ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index efb9a7cdbe433..e97aa0d391e01 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -1,5 +1,5 @@
 { lib, stdenv
-, fetchurl, fetchFromGitHub, fetchpatch
+, fetchurl, fetchFromGitHub
 , cmake, pkgconfig, unzip, zlib, pcre, hdf5
 , glog, boost, google-gflags, protobuf
 , config
@@ -35,20 +35,20 @@
 }:
 
 let
-  version = "3.4.1";
+  version = "3.4.2";
 
   src = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv";
     rev    = version;
-    sha256 = "08yahgf427d2qbs2mw02xww6bv5yjkfc1hihihh7fhqgfz0jnj1h";
+    sha256 = "0q752s1ir6iyqbp3pn425fi215fi7bzjl4aa3arvgh6sridda9lx";
   };
 
   contribSrc = fetchFromGitHub {
     owner  = "opencv";
     repo   = "opencv_contrib";
     rev    = version;
-    sha256 = "00x1x53qv2pnc7i56244b5nf44wm2mp77hj486i5697r6hikk8n3";
+    sha256 = "1fbgbf9xdby9a5yy6bmnkzchdsfii0jagfd373y015cjpr1mrlvz";
   };
 
   # Contrib must be built in order to enable Tesseract support:
@@ -59,16 +59,16 @@ let
     src = fetchFromGitHub {
       owner  = "opencv";
       repo   = "opencv_3rdparty";
-      rev    = "dfe3162c237af211e98b8960018b564bc209261d";
-      sha256 = "1k5xiwdi5r2y3fs5g70lpknxqi4pj32w6l311gfwng3q1cb2crif";
+      rev    = "bdb7bb85f34a8cb0d35e40a81f58da431aa1557a";
+      sha256 = "1ys9mshfpm8iy8h4ml792gnqrq959dsrcv26axx14niivxyjbji8";
     } + "/ippicv";
-    files = let name = platform : "ippicv_2017u3_${platform}_general_20170822.tgz"; in
+    files = let name = platform : "ippicv_2017u3_${platform}_general_20180518.tgz"; in
       if stdenv.system == "x86_64-linux" then
-      { ${name "lnx_intel64"} = "4e0352ce96473837b1d671ce87f17359"; }
+      { ${name "lnx_intel64"} = "b7cc351267db2d34b9efa1cd22ff0572"; }
       else if stdenv.system == "i686-linux" then
-      { ${name "lnx_ia32"}    = "dcdb0ba4b123f240596db1840cd59a76"; }
+      { ${name "lnx_ia32"}    = "ea72de74dae3c604eb6348395366e78e"; }
       else if stdenv.system == "x86_64-darwin" then
-      { ${name "mac_intel64"} = "c1ebb5dfa5b7f54b0c44e1917805a463"; }
+      { ${name "mac_intel64"} = "3ae52b9be0fe73dd45bc5e9429cd3732"; }
       else
       throw "ICV is not available for this platform (or not yet supported by this package)";
     dst = ".cache/ippicv";
@@ -132,17 +132,6 @@ let
     ln -s "${extra.src}/${name}" "${extra.dst}/${md5}-${name}"
   '') extra.files);
 
-  # See opencv_contrib/modules/dnn_modern/CMakeLists.txt
-  tinyDnn = rec {
-    src = fetchurl {
-      url    = "https://github.com/tiny-dnn/tiny-dnn/archive/${name}";
-      sha256 = "12x1b984cn0psn6kz1fy75zljgzqvkdyjy8i292adfnyqpl1rip2";
-    };
-    name = "v1.0.0a3.tar.gz";
-    md5  = "adb1c512e09ca2c7a6faef36f9c53e59";
-    dst  = ".cache/tiny_dnn";
-  };
-
   opencvFlag = name: enabled: "-DWITH_${name}=${printEnabled enabled}";
 
   printEnabled = enabled : if enabled then "ON" else "OFF";
@@ -156,6 +145,11 @@ stdenv.mkDerivation rec {
     cp --no-preserve=mode -r "${contribSrc}/modules" "$NIX_BUILD_TOP/opencv_contrib"
   '';
 
+  # TODO: remove the following patch once commit
+  # https://github.com/opencv/opencv/commit/e2b5d112909b9dfd764f14833b82e38e4bc2f81f
+  # is released.
+  patches = [ ./fix-dnn.patch ];
+
   # This prevents cmake from using libraries in impure paths (which
   # causes build failure on non NixOS)
   # Also, work around https://github.com/NixOS/nixpkgs/issues/26304 with
@@ -174,9 +168,6 @@ stdenv.mkDerivation rec {
       ${installExtraFiles vgg}
       ${installExtraFiles boostdesc}
       ${installExtraFiles face}
-
-      mkdir -p "${tinyDnn.dst}"
-      ln -s "${tinyDnn.src}" "${tinyDnn.dst}/${tinyDnn.md5}-${tinyDnn.name}"
     '');
 
   buildInputs =
@@ -243,9 +234,6 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals stdenv.isDarwin [
     "-DWITH_OPENCL=OFF"
     "-DWITH_LAPACK=OFF"
-
-    # On OS X the tiny-dnn-1.0.0a3 dependency of dnn_modern fails to build.
-    "-DBUILD_opencv_dnn_modern=OFF"
   ];
 
   enableParallelBuilding = true;
@@ -254,15 +242,30 @@ stdenv.mkDerivation rec {
     make doxygen
   '';
 
+  # By default $out/lib/pkgconfig/opencv.pc looks something like this:
+  #
+  #   prefix=/nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1
+  #   exec_prefix=${prefix}
+  #   libdir=${exec_prefix}//nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1/lib
+  #   ...
+  #   Libs: -L${exec_prefix}//nix/store/10pzq1a8fkh8q4sysj8n6mv0w0nl0miq-opencv-3.4.1/lib ...
+  #
+  # Note that ${exec_prefix} is set to $out but that $out is also appended to
+  # ${exec_prefix}. This causes linker errors in downstream packages so we strip
+  # of $out after the ${exec_prefix} prefix:
+  postInstall = ''
+    sed -i "s|\''${exec_prefix}/$out|\''${exec_prefix}|" "$out/lib/pkgconfig/opencv.pc"
+  '';
+
   hardeningDisable = [ "bindnow" "relro" ];
 
   passthru = lib.optionalAttrs enablePython { pythonPath = []; };
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Open Computer Vision Library with more than 500 algorithms";
     homepage = https://opencv.org/;
-    license = with stdenv.lib.licenses; if enableUnfree then unfree else bsd3;
-    maintainers = with stdenv.lib.maintainers; [viric mdaiter basvandijk];
-    platforms = with stdenv.lib.platforms; linux ++ darwin;
+    license = with licenses; if enableUnfree then unfree else bsd3;
+    maintainers = with maintainers; [mdaiter basvandijk];
+    platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index cbac7210a10ed..66a840fa2a9eb 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -8,7 +8,7 @@
 , enableEXR ? (!stdenv.isDarwin), openexr, ilmbase
 , enableJPEG2K ? true, jasper
 , enableFfmpeg ? false, ffmpeg
-, enableGStreamer ? false, gst_all
+, enableGStreamer ? false, gst_all_1
 , enableEigen ? true, eigen
 , darwin
 }:
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     ++ lib.optionals enableEXR [ openexr ilmbase ]
     ++ lib.optional enableJPEG2K jasper
     ++ lib.optional enableFfmpeg ffmpeg
-    ++ lib.optionals enableGStreamer (with gst_all; [ gstreamer gst-plugins-base ])
+    ++ lib.optionals enableGStreamer (with gst_all_1; [ gstreamer gst-plugins-base ])
     ++ lib.optional enableEigen eigen
     ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ Cocoa QTKit ])
     ;
@@ -69,6 +69,7 @@ stdenv.mkDerivation rec {
     (opencvFlag "JPEG" enableJPEG)
     (opencvFlag "PNG" enablePNG)
     (opencvFlag "OPENEXR" enableEXR)
+    (opencvFlag "GSTREAMER" enableGStreamer)
   ];
 
   enableParallelBuilding = true;
@@ -87,7 +88,7 @@ stdenv.mkDerivation rec {
     description = "Open Computer Vision Library with more than 500 algorithms";
     homepage = https://opencv.org/;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ viric ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/opencv/fix-dnn.patch b/pkgs/development/libraries/opencv/fix-dnn.patch
new file mode 100644
index 0000000000000..62234a43e4616
--- /dev/null
+++ b/pkgs/development/libraries/opencv/fix-dnn.patch
@@ -0,0 +1,13 @@
+diff --git a/modules/dnn/src/caffe/caffe_io.cpp b/modules/dnn/src/caffe/caffe_io.cpp
+index 730c752ce..abbce0453 100644
+--- a/modules/dnn/src/caffe/caffe_io.cpp
++++ b/modules/dnn/src/caffe/caffe_io.cpp
+@@ -1120,7 +1120,7 @@ bool ReadProtoFromTextFile(const char* filename, Message* proto) {
+     std::ifstream fs(filename, std::ifstream::in);
+     CHECK(fs.is_open()) << "Can't open \"" << filename << "\"";
+     IstreamInputStream input(&fs);
+-    return google::protobuf::TextFormat::Parser(true).Parse(&input, proto);
++    return google::protobuf::TextFormat::Parser().Parse(&input, proto);
+ }
+ 
+ bool ReadProtoFromBinaryFile(const char* filename, Message* proto) {
diff --git a/pkgs/development/libraries/opendbx/default.nix b/pkgs/development/libraries/opendbx/default.nix
index 48ec5141e34fc..a073a29b507de 100644
--- a/pkgs/development/libraries/opendbx/default.nix
+++ b/pkgs/development/libraries/opendbx/default.nix
@@ -1,13 +1,10 @@
 { stdenv, fetchurl, readline, mysql, postgresql, sqlite }:
 
-let
-  inherit (stdenv.lib) getDev getLib;
-in
 stdenv.mkDerivation rec {
   name = "opendbx-1.4.6";
 
   src = fetchurl {
-    url = "http://linuxnetworks.de/opendbx/download/${name}.tar.gz";
+    url = "https://linuxnetworks.de/opendbx/download/${name}.tar.gz";
     sha256 = "0z29h6zx5f3gghkh1a0060w6wr572ci1rl2a3480znf728wa0ii2";
   };
 
diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix
index 68486fca54d68..bd7d252e1a087 100644
--- a/pkgs/development/libraries/opendht/default.nix
+++ b/pkgs/development/libraries/opendht/default.nix
@@ -6,20 +6,20 @@
 , pkgconfig
 , nettle
 , gnutls
-, libmsgpack
+, msgpack
 , readline
 , libargon2
 }:
 
 stdenv.mkDerivation rec {
   name = "opendht-${version}";
-  version = "1.6.1";
+  version = "1.7.4";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = "${version}";
-    sha256 = "13sxcg2sdhnzdkrjqmhg16p4001w3rd048p71k74pbmi8qpd0bw2";
+    sha256 = "1wqib5plak9bw2bla7y4qyjqi0b00kf8mfwlml16qj3i0aq6h2cp";
   };
 
   buildInputs = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     pkgconfig
     nettle
     gnutls
-    libmsgpack
+    msgpack
     readline
     libargon2
   ];
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 8d5a6bb65a91a..bb9d163dc4ac6 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -1,11 +1,12 @@
-{ lib, stdenv, fetchurl, fetchpatch, autoconf, automake, libtool, pkgconfig, zlib, ilmbase }:
+{ lib, stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, zlib, ilmbase }:
 
 stdenv.mkDerivation rec {
-  name = "openexr-${lib.getVersion ilmbase}";
+  name = "openexr-${version}";
+  version = lib.getVersion ilmbase;
 
   src = fetchurl {
-    url = "http://download.savannah.nongnu.org/releases/openexr/${name}.tar.gz";
-    sha256 = "1kdf2gqznsdinbd5vcmqnif442nyhdf9l7ckc51410qm2gv5m6lg";
+    url = "https://github.com/openexr/openexr/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "19jywbs9qjvsbkvlvzayzi81s976k53wg53vw4xj66lcgylb6v7x";
   };
 
   patches = [
@@ -15,6 +16,7 @@ stdenv.mkDerivation rec {
   outputs = [ "bin" "dev" "out" "doc" ];
 
   preConfigure = ''
+    patchShebangs ./bootstrap
     ./bootstrap
   '';
 
@@ -23,6 +25,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ ilmbase zlib ];
 
   enableParallelBuilding = true;
+  doCheck = false; # fails 1 of 1 tests
 
   meta = with stdenv.lib; {
     homepage = http://www.openexr.com/;
diff --git a/pkgs/development/libraries/openfst/default.nix b/pkgs/development/libraries/openfst/default.nix
index f8cbc867b2be6..a4e15f5dbafc5 100644
--- a/pkgs/development/libraries/openfst/default.nix
+++ b/pkgs/development/libraries/openfst/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "${pname}-${version}";
   pname = "openfst";
-  version = "1.6.6";
+  version = "1.6.9";
 
   src = fetchurl {
     url = "http://www.openfst.org/twiki/pub/FST/FstDownload/${name}.tar.gz";
-    sha256 = "1b13nzf9xh1iv0k8z7sdfs9ya2ykf0gzjiixpb1qn3bydck6ppdm";
+    sha256 = "1nlbk7qarz2qv3apz1cxf5avjhlqfq2r8kxad0095kfyqz05jnfy";
   };
   meta = {
     description = "Library for working with finite-state transducers";
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 56118c9bbb2c8..16e00e9f2b950 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -1,21 +1,13 @@
 { stdenv, fetchurl, openssl, cyrus_sasl, db, groff, libtool }:
 
 stdenv.mkDerivation rec {
-  name = "openldap-2.4.45";
+  name = "openldap-2.4.46";
 
   src = fetchurl {
-    url = "http://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
-    sha256 = "091qvwk5dkcpp17ziabcnh3rg3m7qwzw2pihfcd1d5fdxgywzmnd";
+    url = "https://www.openldap.org/software/download/OpenLDAP/openldap-release/${name}.tgz";
+    sha256 = "0bab1km8f2nan1x0zgwliknbxg0zlf2pafxrr867kblrdfwdr44s";
   };
 
-  patches = [
-    (fetchurl {
-      url = "https://bz-attachments.freebsd.org/attachment.cgi?id=183223";
-      sha256 = "1fiy457hrxmydybjlvn8ypzlavz22cz31q2rga07n32dh4x759r3";
-    })
-  ];
-  patchFlags = [ "-p0" ];
-
   # TODO: separate "out" and "bin"
   outputs = [ "out" "dev" "man" "devdoc" ];
 
@@ -34,6 +26,8 @@ stdenv.mkDerivation rec {
       ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"
       ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
 
+  doCheck = false; # needs a running LDAP server
+
   installFlags = [ "sysconfdir=$(out)/etc" "localstatedir=$(out)/var" ];
 
   # 1. Fixup broken libtool
@@ -57,6 +51,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage    = http://www.openldap.org/;
     description = "An open source implementation of the Lightweight Directory Access Protocol";
+    license = licenses.openldap;
     maintainers = with maintainers; [ lovek323 ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 9aca076c5dcb9..a279fe79940f8 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,4 +1,5 @@
 { stdenv, fetchurl, gfortran, perl, libnl, rdma-core, zlib
+, numactl
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -8,7 +9,7 @@
 }:
 
 let
-  majorVersion = "3.0";
+  majorVersion = "3.1";
   minorVersion = "0";
 
 in stdenv.mkDerivation rec {
@@ -16,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.open-mpi.org/software/ompi/v${majorVersion}/downloads/${name}.tar.bz2";
-    sha256 = "1mw2d94k6mp4scg1wnkj50vdh734fy5m2ygyrj65s4mh3prbz6gn";
+    sha256 = "0v7hrmf1z5d1rmm0z5gi79l536j3z5s5b0kf9q5rr1fc4i0h8p5j";
   };
 
   postPatch = ''
@@ -24,7 +25,7 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs = with stdenv; [ gfortran zlib ]
-    ++ lib.optional isLinux libnl
+    ++ lib.optionals isLinux [ libnl numactl ]
     ++ lib.optional (isLinux || isFreeBSD) rdma-core;
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/openpam/default.nix b/pkgs/development/libraries/openpam/default.nix
new file mode 100644
index 0000000000000..7d84392d204ae
--- /dev/null
+++ b/pkgs/development/libraries/openpam/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, fetchurl, lib }:
+
+stdenv.mkDerivation rec {
+  name = "openpam-${version}";
+  version = "20170430";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/openpam/openpam/Resedacea/${name}.tar.gz";
+    sha256 = "0pz8kf9mxj0k8yp8jgmhahddz58zv2b7gnyjwng75xgsx4i55xi2";
+  };
+
+  meta = {
+    homepage = https://www.openpam.org;
+    description = "An open source PAM library that focuses on simplicity, correctness, and cleanliness";
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ matthewbauer ];
+  };
+}
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 8d0839041890a..cddc2038791ec 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -1,33 +1,72 @@
-{ stdenv, lib, fetchurl, cmake, pkgconfig, doxygen, unzip
-, freetype, libjpeg, jasper, libxml2, zlib, gdal, curl, libX11
-, cairo, poppler, librsvg, libpng, libtiff, libXrandr
-, xineLib, boost
-, withApps ? false
-, withSDL ? false, SDL
-, withQt4 ? false, qt4
+{ stdenv, lib, fetchFromGitHub, cmake, pkgconfig, doxygen,
+  libX11, libXinerama, libXrandr, libGLU_combined,
+  glib, ilmbase, libxml2, pcre, zlib,
+  jpegSupport ? true, libjpeg,
+  jasperSupport ? true, jasper,
+  exrSupport ? false, openexr,
+  gifSupport ? true, giflib,
+  pngSupport ? true, libpng,
+  tiffSupport ? true, libtiff,
+  gdalSupport ? false, gdal,
+  curlSupport ? true, curl,
+  colladaSupport ? false, opencollada,
+  opencascadeSupport ? false, opencascade,
+  ffmpegSupport ? false, ffmpeg,
+  nvttSupport ? false, nvidia-texture-tools,
+  freetypeSupport ? true, freetype,
+  svgSupport ? false, librsvg,
+  pdfSupport ? false, poppler,
+  vncSupport ? false, libvncserver,
+  lasSupport ? false, libLAS,
+  luaSupport ? false, lua,
+  sdlSupport ? false, SDL2,
+  restSupport ? false, asio, boost,
+  withApps ? false,
+  withExamples ? false, fltk, wxGTK,
 }:
 
 stdenv.mkDerivation rec {
   name = "openscenegraph-${version}";
-  version = "3.4.0";
+  version = "3.6.2";
 
-  src = fetchurl {
-    url = "http://trac.openscenegraph.org/downloads/developer_releases/OpenSceneGraph-${version}.zip";
-    sha256 = "03h4wfqqk7rf3mpz0sa99gy715cwpala7964z2npd8jxfn27swjw";
+  src = fetchFromGitHub {
+    owner = "openscenegraph";
+    repo = "OpenSceneGraph";
+    rev = "fb40a0d1db018ff39a08699a7f17f7eb6d949c36";
+    sha256 = "03jk6lclyd4biniaw04w7j0z1spkm69f1c19i37b8v9x3zv1p1id";
   };
 
-  nativeBuildInputs = [ pkgconfig cmake doxygen unzip ];
+  nativeBuildInputs = [ pkgconfig cmake doxygen ];
 
   buildInputs = [
-    freetype libjpeg jasper libxml2 zlib gdal curl libX11
-    cairo poppler librsvg libpng libtiff libXrandr boost
-    xineLib
-  ] ++ lib.optional withSDL SDL
-    ++ lib.optional withQt4 qt4;
+    libX11 libXinerama libXrandr libGLU_combined
+    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
+    ++ lib.optional tiffSupport libtiff
+    ++ lib.optional gdalSupport gdal
+    ++ lib.optional curlSupport curl
+    ++ lib.optional colladaSupport opencollada
+    ++ lib.optional opencascadeSupport opencascade
+    ++ lib.optional ffmpegSupport ffmpeg
+    ++ lib.optional nvttSupport nvidia-texture-tools
+    ++ lib.optional freetypeSupport freetype
+    ++ lib.optional svgSupport librsvg
+    ++ lib.optional pdfSupport poppler
+    ++ lib.optional vncSupport libvncserver
+    ++ lib.optional lasSupport libLAS
+    ++ lib.optional luaSupport lua
+    ++ lib.optional sdlSupport SDL2
+    ++ lib.optionals restSupport [ asio boost ]
+    ++ lib.optionals withExamples [ fltk wxGTK ]
+  ;
 
   enableParallelBuilding = true;
 
-  cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF";
+  cmakeFlags = lib.optional (!withApps) "-DBUILD_OSG_APPLICATIONS=OFF" ++ lib.optional withExamples "-DBUILD_OSG_EXAMPLES=ON";
 
   meta = with stdenv.lib; {
     description = "A 3D graphics toolkit";
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index 5a9052222cb88..380c0c4af6381 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchurl, buildPackages, perl
 , buildPlatform, hostPlatform
-, fetchpatch
 , withCryptodev ? false, cryptodevHeaders
 , enableSSL2 ? false
+, static ? false
 }:
 
 with stdenv.lib;
@@ -12,7 +12,7 @@ let
     name = "openssl-${version}";
 
     src = fetchurl {
-      url = "http://www.openssl.org/source/${name}.tar.gz";
+      url = "https://www.openssl.org/source/${name}.tar.gz";
       inherit sha256;
     };
 
@@ -24,11 +24,19 @@ let
       ++ optional (versionOlder version "1.0.2" && hostPlatform.isDarwin)
            ./darwin-arch.patch;
 
-  postPatch = if (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) then ''
-    substituteInPlace crypto/async/arch/async_posix.h \
-      --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \
-                '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0'
-  '' else null;
+    postPatch = ''
+      patchShebangs Configure
+    '' + optionalString (versionOlder version "1.1.0") ''
+      patchShebangs test/*
+      for a in test/t* ; do
+        substituteInPlace "$a" \
+          --replace /bin/rm rm
+      done
+    '' + optionalString (versionAtLeast version "1.1.0" && stdenv.hostPlatform.isMusl) ''
+      substituteInPlace crypto/async/arch/async_posix.h \
+        --replace '!defined(__ANDROID__) && !defined(__OpenBSD__)' \
+                  '!defined(__ANDROID__) && !defined(__OpenBSD__) && 0'
+    '';
 
     outputs = [ "bin" "dev" "out" "man" ];
     setOutputFlags = false;
@@ -38,6 +46,7 @@ let
     buildInputs = stdenv.lib.optional withCryptodev cryptodevHeaders;
 
     # TODO(@Ericson2314): Improve with mass rebuild
+    configurePlatforms = [];
     configureScript = {
         "x86_64-darwin"  = "./Configure darwin64-x86_64-cc";
         "x86_64-solaris" = "./Configure solaris64-x86_64-gcc";
@@ -45,22 +54,19 @@ let
         if hostPlatform == buildPlatform
           then "./config"
         else if hostPlatform.isMinGW
-          then "./Configure mingw${toString hostPlatform.parsed.cpu.bits}"
+          then "./Configure mingw${optionalString
+                                     (hostPlatform.parsed.cpu.bits != 32)
+                                     (toString hostPlatform.parsed.cpu.bits)}"
         else if hostPlatform.isLinux
           then "./Configure linux-generic${toString hostPlatform.parsed.cpu.bits}"
+        else if hostPlatform.isiOS
+          then "./Configure ios${toString hostPlatform.parsed.cpu.bits}-cross"
         else
           throw "Not sure what configuration to use for ${hostPlatform.config}"
       );
 
-    # TODO(@Ericson2314): Make unconditional on mass rebuild
-    ${if buildPlatform != hostPlatform then "configurePlatforms" else null} = [];
-
-    preConfigure = ''
-      patchShebangs Configure
-    '';
-
     configureFlags = [
-      "shared"
+      "shared" # "shared" builds both shared and static libraries
       "--libdir=lib"
       "--openssldir=etc/ssl"
     ] ++ stdenv.lib.optionals withCryptodev [
@@ -71,16 +77,18 @@ let
 
     makeFlags = [ "MANDIR=$(man)/share/man" ];
 
-    # Parallel building is broken in OpenSSL.
-    enableParallelBuilding = false;
+    enableParallelBuilding = true;
 
-    postInstall = ''
+    postInstall =
+    stdenv.lib.optionalString (!static) ''
       # If we're building dynamic libraries, then don't install static
       # libraries.
       if [ -n "$(echo $out/lib/*.so $out/lib/*.dylib $out/lib/*.dll)" ]; then
           rm "$out/lib/"*.a
       fi
 
+    '' +
+    ''
       mkdir -p $bin
       mv $out/bin $bin/
 
@@ -101,11 +109,12 @@ let
       fi
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = https://www.openssl.org/;
       description = "A cryptographic library that implements the SSL and TLS protocols";
-      platforms = stdenv.lib.platforms.all;
-      maintainers = [ stdenv.lib.maintainers.peti ];
+      license = licenses.openssl;
+      platforms = platforms.all;
+      maintainers = [ maintainers.peti ];
       priority = 10; # resolves collision with ‘man-pages’
     };
   };
@@ -113,13 +122,13 @@ let
 in {
 
   openssl_1_0_2 = common {
-    version = "1.0.2o";
-    sha256 = "0kcy13l701054nhpbd901mz32v1kn4g311z0nifd83xs2jbmqgzc";
+    version = "1.0.2p";
+    sha256 = "003xh9f898i56344vpvpxxxzmikivxig4xwlm7vbi7m8n43qxaah";
   };
 
   openssl_1_1_0 = common {
-    version = "1.1.0h";
-    sha256 = "05x509lccqjscgyi935z809pwfm708islypwhmjnb6cyvrn64daq";
+    version = "1.1.0i";
+    sha256 = "16fgaf113p6s5ixw227sycvihh3zx6f6rf0hvjjhxk68m12cigzb";
   };
 
 }
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index 62c093f310fb1..614df6fb063e6 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU
+{ lib, stdenv, fetchFromGitHub, cmake, pkgconfig, xorg, libGLU
 , libGL, glew, ocl-icd, python3
 , cudaSupport ? false, cudatoolkit
 , darwin
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "opensubdiv-${version}";
-  version = "3.3.1";
+  version = "3.3.3";
 
   src = fetchFromGitHub {
     owner = "PixarAnimationStudios";
     repo = "OpenSubdiv";
     rev = "v${lib.replaceChars ["."] ["_"] version}";
-    sha256 = "1s96038yvf8wch5gv537iigqflxx7rh9wwn3wlrk8f9yfdwv1mk1";
+    sha256 = "1rld4hgl9yrbnk5sd6bhvnm8jdnqq09hq93hrmx0nhccccximi9z";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/openvdb/default.nix b/pkgs/development/libraries/openvdb/default.nix
index 8ed383c887bf3..c11a93373dd11 100644
--- a/pkgs/development/libraries/openvdb/default.nix
+++ b/pkgs/development/libraries/openvdb/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "openvdb-${version}";
-  version = "5.0.0";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "dreamworksanimation";
     repo = "openvdb";
     rev = "v${version}";
-    sha256 = "162l1prgdyf571bgxc621gicl40b050ny64f0jmnhz0h5xq6sfrv";
+    sha256 = "1yykrbc3nnnmpmmk0dz4b4y5xl4hl3ayjpqw0baq8yx2614r46b5";
   };
 
   outputs = [ "out" ];
diff --git a/pkgs/development/libraries/openwsman/default.nix b/pkgs/development/libraries/openwsman/default.nix
index 1aa0f26845710..2122a7b23f1b8 100644
--- a/pkgs/development/libraries/openwsman/default.nix
+++ b/pkgs/development/libraries/openwsman/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     cmakeFlags="$cmakeFlags -DPACKAGE_ARCHITECTURE=$(uname -m)";
   '';
 
-  configureFlags = "--disable-more-warnings";
+  configureFlags = [ "--disable-more-warnings" ];
 
   meta = with stdenv.lib; {
     description  = "Openwsman server implementation and client API with bindings";
diff --git a/pkgs/development/libraries/openzwave/default.nix b/pkgs/development/libraries/openzwave/default.nix
new file mode 100644
index 0000000000000..087a22dd61ba0
--- /dev/null
+++ b/pkgs/development/libraries/openzwave/default.nix
@@ -0,0 +1,58 @@
+{ stdenv, fetchFromGitHub
+, doxygen, fontconfig, graphviz-nox, libxml2, pkgconfig, which
+, systemd }:
+
+let
+  version = "2018-04-04";
+
+in stdenv.mkDerivation rec {
+  name = "openzwave-${version}";
+
+  src = fetchFromGitHub {
+    owner = "OpenZWave";
+    repo = "open-zwave";
+    rev = "ab5fe966fee882bb9e8d78a91db892a60a1863d9";
+    sha256 = "0yby8ygzjn5zp5vhysxaadbzysqanwd2zakz379299qs454pr2h9";
+  };
+
+  nativeBuildInputs = [ doxygen fontconfig graphviz-nox libxml2 pkgconfig which ];
+
+  buildInputs = [ systemd ];
+
+  hardeningDisable = [ "format" ];
+
+  enableParallelBuilding = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    DESTDIR=$out PREFIX= pkgconfigdir=lib/pkgconfig make install $installFlags
+
+    runHook postInstall
+  '';
+
+  FONTCONFIG_FILE="${fontconfig.out}/etc/fonts/fonts.conf";
+  FONTCONFIG_PATH="${fontconfig.out}/etc/fonts/";
+
+  postPatch = ''
+    substituteInPlace cpp/src/Options.cpp \
+      --replace /etc/openzwave $out/etc/openzwave
+  '';
+
+  fixupPhase = ''
+    substituteInPlace $out/lib/pkgconfig/libopenzwave.pc \
+      --replace prefix= prefix=$out \
+      --replace dir=    dir=$out
+
+    substituteInPlace $out/bin/ozw_config \
+      --replace pcfile=${pkgconfig} pcfile=$out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "C++ library to control Z-Wave Networks via a USB Z-Wave Controller";
+    homepage = http://www.openzwave.net/;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ etu ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/oracle-instantclient/default.nix b/pkgs/development/libraries/oracle-instantclient/default.nix
index 1c629c137796c..0c05e2ec5f613 100644
--- a/pkgs/development/libraries/oracle-instantclient/default.nix
+++ b/pkgs/development/libraries/oracle-instantclient/default.nix
@@ -1,81 +1,73 @@
-{ stdenv, requireFile, libelf, gcc, glibc, patchelf, unzip, rpmextract, libaio
-, odbcSupport ? false, unixODBC
-}:
+{ stdenv, requireFile, autoPatchelfHook, fixDarwinDylibNames, unzip, libaio, makeWrapper, odbcSupport ? false, unixODBC }:
 
 assert odbcSupport -> unixODBC != null;
 
-with stdenv.lib;
-
 let
-    baseVersion = "12.2";
-    requireSource = version: rel: part: hash: (requireFile rec {
-      name = "oracle-instantclient${baseVersion}-${part}-${version}-${rel}.x86_64.rpm";
-      message = ''
-        This Nix expression requires that ${name} already
-        be part of the store. Download the file
-        manually at
+  inherit (stdenv.lib) optional optionals optionalString;
+
+  baseVersion = "12.2";
+  version = "${baseVersion}.0.1.0";
+
+  requireSource = component: arch: version: rel: hash: (requireFile rec {
+    name = "instantclient-${component}-${arch}-${version}" + (optionalString (rel != "") "-${rel}") + ".zip";
+    url = "http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html";
+    sha256 = hash;
+  });
+
+  throwSystem = throw "Unsupported system: ${stdenv.system}";
 
-        http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
+  arch = {
+    "x86_64-linux" = "linux.x64";
+    "x86_64-darwin" = "macos.x64";
+  }."${stdenv.system}" or throwSystem;
 
-        and add it to the Nix store using either:
-          nix-store --add-fixed sha256 ${name}
-        or
-          nix-prefetch-url --type sha256 file:///path/to/${name}
-      '';
-      url = "http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html";
-      sha256 = hash;
-    });
+  srcs = {
+    "x86_64-linux" = [
+      (requireSource "basic" arch version "" "5015e3c9fba84e009f7519893f798a1622c37d1ae2c55104ff502c52a0fe5194")
+      (requireSource "sdk" arch version "" "7f404c3573c062ce487a51ac4cfe650c878d7edf8e73b364ec852645ed1098cb")
+      (requireSource "sqlplus" arch version "" "d49b2bd97376591ca07e7a836278933c3f251875c215044feac73ba9f451dfc2") ]
+      ++ optional odbcSupport (requireSource "odbc" arch version "2" "365a4ae32c7062d9fbc3fb41add748e7881f774484a175a4b41a2c294ce9095d");
+    "x86_64-darwin" = [
+      (requireSource "basic" arch version "2" "3ed3102e5a24f0da638694191edb34933309fb472eb1df21ad5c86eedac3ebb9")
+      (requireSource "sdk" arch version "2" "e0befca9c4e71ebc9f444957ffa70f01aeeec5976ea27c40406471b04c34848b")
+      (requireSource "sqlplus" arch version "2" "d147cbb5b2a954fdcb4b642df4f0bd1153fd56e0f56e7fa301601b4f7e2abe0e") ]
+      ++ optional odbcSupport (requireSource "odbc" arch version "2" "1805c1ab6c8c5e8df7bdcc35d7f2b94c329ecf4dff9bde55d5f9b159ecd8b64e");
+  }."${stdenv.system}" or throwSystem;
+
+  extLib = stdenv.hostPlatform.extensions.sharedLibrary;
 in stdenv.mkDerivation rec {
-  version = "${baseVersion}.0.1.0";
+  inherit version srcs;
   name = "oracle-instantclient-${version}";
 
-  srcBase = (requireSource version "1" "basic" "43c4bfa938af741ae0f9964a656f36a0700849f5780a2887c8e9f1be14fe8b66");
-  srcDevel = (requireSource version "1" "devel" "4c7ad8d977f9f908e47c5e71ce56c2a40c7dc83cec8a5c106b9ff06d45bb3442");
-  srcSqlplus = (requireSource version "1" "sqlplus" "303e82820a10f78e401e2b07d4eebf98b25029454d79f06c46e5f9a302ce5552");
-  srcOdbc = optionalString odbcSupport (requireSource version "2" "odbc" "e870c84d2d4be6f77c0760083b82b7ffbb15a4bf5c93c4e6c84f36d6ed4dfdf1");
+  buildInputs = [ stdenv.cc.cc.lib ]
+    ++ optionals (stdenv.isLinux) [ libaio ]
+    ++ optional odbcSupport unixODBC;
 
-  buildInputs = [ glibc patchelf rpmextract ] ++
-    optional odbcSupport unixODBC;
+  nativeBuildInputs = [ makeWrapper unzip ]
+    ++ optional stdenv.isLinux autoPatchelfHook
+    ++ optional stdenv.isDarwin fixDarwinDylibNames;
 
-  buildCommand = ''
-    mkdir -p "${name}"
-    cd "${name}"
-    ${rpmextract}/bin/rpmextract "${srcBase}"
-    ${rpmextract}/bin/rpmextract "${srcDevel}"
-    ${rpmextract}/bin/rpmextract "${srcSqlplus}"
-    '' + optionalString odbcSupport ''${rpmextract}/bin/rpmextract ${srcOdbc}
-    '' + ''
-    mkdir -p "$out/"{bin,include,lib,"share/${name}/demo/"}
-    mv "usr/share/oracle/${baseVersion}/client64/demo/"* "$out/share/${name}/demo/"
-    mv "usr/include/oracle/${baseVersion}/client64/"* "$out/include/"
-    mv "usr/lib/oracle/${baseVersion}/client64/lib/"* "$out/lib/"
-    mv "usr/lib/oracle/${baseVersion}/client64/bin/"* "$out/bin/"
-    ln -s "$out/bin/sqlplus" "$out/bin/sqlplus64"
+  unpackCmd = "unzip $curSrc";
 
-    for lib in $out/lib/lib*.so; do
-      test -f $lib || continue
-      chmod +x $lib
-      patchelf --force-rpath --set-rpath "$out/lib:${libaio}/lib" \
-               $lib
-    done
+  installPhase = ''
+    mkdir -p "$out/"{bin,include,lib,"share/java","share/${name}/demo/"}
+    install -Dm755 {sqlplus,adrci,genezi} $out/bin
+    ${optionalString stdenv.isDarwin ''
+      for exe in "$out/bin/"* ; do
+        install_name_tool -add_rpath "$out/lib" "$exe"
+      done
+    ''}
+    ln -sfn $out/bin/sqlplus $out/bin/sqlplus64
+    install -Dm644 *${extLib}* $out/lib
+    install -Dm644 *.jar $out/share/java
+    install -Dm644 sdk/include/* $out/include
+    install -Dm644 sdk/demo/* $out/share/${name}/demo
 
-    for lib in $out/lib/libsqora*; do
-      test -f $lib || continue
-      chmod +x $lib
-      patchelf --force-rpath --set-rpath "$out/lib:${unixODBC}/lib" \
-               $lib
-    done
-
-    for exe in $out/bin/sqlplus; do
-      patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-               --force-rpath --set-rpath "$out/lib:${libaio}/lib" \
-               $exe
-    done
+    # PECL::oci8 will not build without this
+    # this symlink only exists in dist zipfiles for some platforms
+    ln -sfn $out/lib/libclntsh${extLib}.12.1 $out/lib/libclntsh${extLib}
   '';
 
-  dontStrip = true;
-  dontPatchELF = true;
-
   meta = with stdenv.lib; {
     description = "Oracle instant client libraries and sqlplus CLI";
     longDescription = ''
@@ -84,7 +76,8 @@ in stdenv.mkDerivation rec {
       command line SQL client.
     '';
     license = licenses.unfree;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ pesterhazy ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    maintainers = with maintainers; [ pesterhazy flokli ];
+    hydraPlatforms = [];
   };
 }
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index 5dc5df8e95b95..e58e347c7f3e5 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, fetchFromGitHub, bctoolbox }:
+{ stdenv, cmake, fetchFromGitHub, bctoolbox }:
 
 stdenv.mkDerivation rec {
   baseName = "ortp";
diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix
index febba5d5703f8..b7033ea4ddf69 100644
--- a/pkgs/development/libraries/osm-gps-map/default.nix
+++ b/pkgs/development/libraries/osm-gps-map/default.nix
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = https://nzjrs.github.io/osm-gps-map;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ hrdinka ];
-    platforms = platforms.linux;
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index a3d4857d57a96..e0e0b59a9a9fe 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "p11-kit-${version}";
-  version = "0.23.10";
+  version = "0.23.13";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = "p11-kit";
     rev = version;
-    sha256 = "0n0wqv028flzvnxllqv8i6x9nv705csl7ddzi0fzvppc9fp2yinp";
+    sha256 = "1z2rbw2qbwj64i88llc1mkf0263qa0kxc2350kg25r7mghxbw1y6";
   };
 
   outputs = [ "out" "dev"];
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
 
   installFlags = [ "exampledir=\${out}/etc/pkcs11" ];
 
+  doInstallCheck = false; # probably a bug in this derivation
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = https://p11-glue.freedesktop.org/;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/pagmo2/default.nix b/pkgs/development/libraries/pagmo2/default.nix
new file mode 100644
index 0000000000000..367cef46dc445
--- /dev/null
+++ b/pkgs/development/libraries/pagmo2/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, fetchFromGitHub
+, stdenv
+, cmake
+, eigen
+, nlopt
+, ipopt
+, boost
+, writeText
+}:
+
+stdenv.mkDerivation rec {
+  name = "pagmo2-${version}";
+  version = "2.8";
+
+  src = fetchFromGitHub {
+     owner = "esa";
+     repo = "pagmo2";
+     rev = "v${version}";
+     sha256 = "1xwxamcn3fkwr62jn6bkanrwy0cvsksf75hfwx4fvl56awnbz41z";
+  };
+
+  buildInputs = [ cmake eigen nlopt ipopt boost ];
+
+  preBuild = ''
+    cp -r $src/* .
+  '';
+
+  cmakeFlags = [ "-DPAGMO_BUILD_TESTS=no"
+                 "-DPAGMO_WITH_EIGEN3=yes" "-DPAGMO_WITH_NLOPT=yes"
+                 "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt_cxx.so" "-DPAGMO_WITH_IPOPT=yes"
+                 "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'" ];
+
+  checkPhase = ''
+    ctest
+  '';
+
+  # All but one test pass skip for now (tests also take about 30 min to compile)
+  doCheck = false;
+
+  meta = {
+    homepage = https://esa.github.io/pagmo2/;
+    description = "Scientific library for massively parallel optimization";
+    license = stdenv.lib.licenses.gpl3Plus;
+  };
+}
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 3806926fa2444..6b5a0a359715f 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -1,42 +1,45 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, libXft, cairo, harfbuzz
-, libintlOrEmpty, gobjectIntrospection, darwin
+{ stdenv, fetchurl, pkgconfig, libXft, cairo, harfbuzz
+, libintl, gobjectIntrospection, darwin, fribidi, gnome3
+, gtk-doc, docbook_xsl, docbook_xml_dtd_43, makeFontsConf, freefont_ttf
 }:
 
 with stdenv.lib;
 
 let
-  ver_maj = "1.40";
-  ver_min = "14";
-in
-stdenv.mkDerivation rec {
-  name = "pango-${ver_maj}.${ver_min}";
+  pname = "pango";
+  version = "1.42.4";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
-    sha256 = "90af1beaa7bf9e4c52db29ec251ec4fd0a8f2cc185d521ad1f88d01b3a6a17e3";
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
+    sha256 = "17bwb7dgbncrfsmchlib03k9n3xaalirb39g3yb43gg8cg6p8aqx";
   };
 
   outputs = [ "bin" "dev" "out" "devdoc" ];
 
-  buildInputs = [ gobjectIntrospection ];
-  nativeBuildInputs = [ pkgconfig ]
-    ++ optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-       Carbon
-       CoreGraphics
-       CoreText
-    ]);
-  propagatedBuildInputs = [ cairo harfbuzz libXft ] ++ libintlOrEmpty;
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection gtk-doc docbook_xsl docbook_xml_dtd_43 ];
+  buildInputs = optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    Carbon
+    CoreGraphics
+    CoreText
+  ]);
+  propagatedBuildInputs = [ cairo harfbuzz libXft libintl fribidi ];
 
   enableParallelBuilding = true;
 
-  doCheck = false; # test-layout fails on 1.40.3 (fails to find font config)
-  # jww (2014-05-05): The tests currently fail on Darwin:
-  #
-  # ERROR:testiter.c:139:iter_char_test: assertion failed: (extents.width == x1 - x0)
-  # .../bin/sh: line 5: 14823 Abort trap: 6 srcdir=. PANGO_RC_FILE=./pangorc ${dir}$tst
-  # FAIL: testiter
+  # Fontconfig error: Cannot load default config file
+  FONTCONFIG_FILE = makeFontsConf {
+    fontDirectories = [ freefont_ttf ];
+  };
+
+  doCheck = false; # /layout/valid-1.markup: FAIL
 
-  configureFlags = optional stdenv.isDarwin "--without-x";
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
 
   meta = with stdenv.lib; {
     description = "A library for laying out and rendering of text, with an emphasis on internationalization";
@@ -49,7 +52,7 @@ stdenv.mkDerivation rec {
       Pango forms the core of text and font handling for GTK+-2.x.
     '';
 
-    homepage = http://www.pango.org/;
+    homepage = https://www.pango.org/;
     license = licenses.lgpl2Plus;
 
     maintainers = with maintainers; [ raskin ];
diff --git a/pkgs/development/libraries/pangomm/default.nix b/pkgs/development/libraries/pangomm/default.nix
index b5ec5198975eb..93c2501a62033 100644
--- a/pkgs/development/libraries/pangomm/default.nix
+++ b/pkgs/development/libraries/pangomm/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "C++ interface to the Pango text rendering library";
-    homepage    = http://www.pango.org/;
+    homepage    = https://www.pango.org/;
     license     = with licenses; [ lgpl2 lgpl21 ];
     maintainers = with maintainers; [ lovek323 raskin ];
     platforms   = platforms.unix;
diff --git a/pkgs/development/libraries/pangox-compat/default.nix b/pkgs/development/libraries/pangox-compat/default.nix
index 8154fca29e843..2d6b678f6570f 100644
--- a/pkgs/development/libraries/pangox-compat/default.nix
+++ b/pkgs/development/libraries/pangox-compat/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A compatibility library for pango>1.30.*";
 
-    homepage = http://www.pango.org/;
+    homepage = https://www.pango.org/;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/parquet-cpp/default.nix b/pkgs/development/libraries/parquet-cpp/default.nix
new file mode 100644
index 0000000000000..e281e604380bf
--- /dev/null
+++ b/pkgs/development/libraries/parquet-cpp/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, symlinkJoin, fetchurl, arrow-cpp, boost, cmake, gtest, snappy, thrift, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "parquet-cpp-${version}";
+  version = "1.4.0";
+
+  src = fetchurl {
+    url = "https://github.com/apache/parquet-cpp/archive/apache-${name}.tar.gz";
+    sha256 = "1kn7pjzi5san5f05qbl8l8znqsa3f9cq9bflfr4s2jfwr7k9p2aj";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ boost ];
+
+  preConfigure = ''
+    substituteInPlace cmake_modules/FindThrift.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+    substituteInPlace cmake_modules/FindSnappy.cmake --replace CMAKE_STATIC_LIBRARY CMAKE_SHARED_LIBRARY
+  '';
+
+  ARROW_HOME = arrow-cpp;
+  THRIFT_HOME = thrift;
+  GTEST_HOME = gtest;
+  SNAPPY_HOME = symlinkJoin { name="snappy-wrap"; paths = [ snappy snappy.dev ]; };
+  ZLIB_HOME = symlinkJoin { name="zlib-wrap"; paths = [ zlib.dev zlib.static ]; };
+
+  cmakeFlags = [
+    "-DPARQUET_BUILD_BENCHMARKS=OFF"
+  ];
+
+  meta = {
+    description = "A C++ library to read and write the Apache Parquet columnar data format";
+    homepage = http://parquet.apache.org;
+    license = stdenv.lib.licenses.asl20;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
+  };
+}
diff --git a/pkgs/development/libraries/pcl/default.nix b/pkgs/development/libraries/pcl/default.nix
index 59f674789e478..9fb2e0b7fedb2 100644
--- a/pkgs/development/libraries/pcl/default.nix
+++ b/pkgs/development/libraries/pcl/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, cmake, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
+{ stdenv, fetchFromGitHub, fetchpatch, cmake
+, qhull, flann, boost, vtk, eigen, pkgconfig, qtbase
 , libusb1, libpcap, libXt, libpng, Cocoa, AGL, cf-private, OpenGL
 }:
 
@@ -12,6 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "05wvqqi2fyk5innw4mg356r71c1hmc9alc7xkf4g81ds3b3867xq";
   };
 
+  patches = [
+    # boost-1.67 compatibility
+    (fetchpatch {
+      url = "https://github.com/PointCloudLibrary/pcl/commit/2309bdab20fb2a385d374db6a87349199279db18.patch";
+      sha256 = "112p4687xrm0vsm0magmkvsm1hpks9hj42fm0lncy3yy2j1v3r4h";
+      name = "boost167-random.patch";
+  })];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig cmake ];
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 2ea5e923bad01..04104346748e3 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -9,7 +9,7 @@ with stdenv.lib;
 assert elem variant [ null "cpp" "pcre16" "pcre32" ];
 
 let
-  version = "8.41";
+  version = "8.42";
   pname = if (variant == null) then "pcre"
     else  if (variant == "cpp") then "pcre-cpp"
     else  variant;
@@ -18,8 +18,8 @@ in stdenv.mkDerivation rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
-    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-${version}.tar.bz2";
-    sha256 = "0c5m469p5pd7jip621ipq6hbgh7128lzh7xndllfgh77ban7wb76";
+    url = "https://ftp.pcre.org/pub/pcre/pcre-${version}.tar.bz2";
+    sha256 = "00ckpzlgyr16bnqx8fawa3afjgqxw5yxgs2l081vw23qi1y4pl1c";
   };
 
   outputs = [ "bin" "dev" "out" "doc" "man" ];
@@ -35,6 +35,10 @@ in stdenv.mkDerivation rec {
   # https://bugs.exim.org/show_bug.cgi?id=2173
   patches = [ ./stacksize-detection.patch ];
 
+  preCheck = ''
+    patchShebangs RunGrepTest
+  '';
+
   doCheck = !(with hostPlatform; isCygwin || isFreeBSD) && hostPlatform == buildPlatform;
     # XXX: test failure on Cygwin
     # we are running out of stack on both freeBSDs on Hydra
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 9603e45a8b447..bbc4dfae86cfc 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fetchpatch }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
   name = "pcre2-${version}";
-  version = "10.23";
+  version = "10.31";
   src = fetchurl {
-    url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "0vn5g0mkkp99mmzpissa06hpyj6pk9s4mlwbjqrjvw3ihy8rpiyz";
+    url = "https://ftp.pcre.org/pub/pcre/${name}.tar.bz2";
+    sha256 = "1b389pzw91k1hzydsh4smdsxyppwz4pv74m3nrvy8rda0j3m6zg0";
   };
 
   configureFlags = [
@@ -14,32 +14,10 @@ stdenv.mkDerivation rec {
     "--enable-jit"
   ];
 
-  patches = [
-    (fetchpatch {
-      name = "CVE-2017-7186-part1.patch";
-      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_ucd.c?view=patch&r1=316&r2=670&sortby=date";
-      sha256 = "10yzglvbn7h06hg7zffr5zh378i5jihvx7d5gggkynws79vgwvfr";
-      stripLen = 2;
-      extraPrefix = "";
-    })
-    (fetchpatch {
-      name = "CVE-2017-7186-part2.patch";
-      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2_internal.h?view=patch&r1=600&r2=670&sortby=date";
-      sha256 = "1bggk7vd5hg0bjg96lj4h1lacmr6grq68dm6iz1n7vg3zf7virjn";
-      stripLen = 2;
-      extraPrefix = "";
-    })
-    (fetchpatch {
-      name = "CVE-2017-8786.patch";
-      url = "https://vcs.pcre.org/pcre2/code/trunk/src/pcre2test.c?r1=692&r2=697&view=patch";
-      sha256 = "1c629nzrk4il2rfclwyc1a373q58m4q9ys9wr91zhl4skfk7x19b";
-      stripLen = 2;
-      extraPrefix = "";
-    })
-  ];
-
   outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
 
+  doCheck = false; # fails 1 out of 3 tests, looks like a bug
+
   postFixup = ''
     moveToOutput bin/pcre2-config "$dev"
   '';
diff --git a/pkgs/development/libraries/phash/default.nix b/pkgs/development/libraries/phash/default.nix
new file mode 100644
index 0000000000000..4cc607345e8cd
--- /dev/null
+++ b/pkgs/development/libraries/phash/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, pkgconfig, cimg, imagemagick }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "pHash";
+  version = "0.9.4";
+
+  buildInputs = [ cimg ];
+
+  # CImg.h calls to external binary `convert` from the `imagemagick` package
+  # at runtime
+  propagatedBuildInputs = [ imagemagick ];
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  configureFlags = ["--enable-video-hash=no" "--enable-audio-hash=no"];
+  postInstall = ''
+    cp ${cimg}/include/CImg.h $out/include/
+  '';
+
+  src = fetchFromGitHub {
+    owner = "clearscene";
+    repo = "pHash";
+    rev = version;
+    sha256 = "0y4gknfkns5sssfaj0snyx29752my20xmxajg6xggijx0myabbv0";
+  };
+
+  meta = with stdenv.lib; {
+    inherit version;
+    description = "Compute the perceptual hash of an image";
+    license = licenses.gpl3;
+    maintainers = [maintainers.imalsogreg];
+    platforms = platforms.all;
+    homepage = http://www.phash.org;
+    downloadPage = "https://github.com/clearscene/pHash";
+    updateWalker = true;
+  };
+}
diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix
index 53281ddc6578e..0487886a89665 100644
--- a/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -1,21 +1,22 @@
 { stdenv, lib, fetchurl, cmake, phonon, pkgconfig, vlc
 , extra-cmake-modules, qtbase ? null, qtx11extras ? null, qt4 ? null
-, withQt5 ? false
+, withQt4 ? false
 , debug ? false
 }:
 
 with lib;
 
 let
-  v = "0.9.0";
+  v = "0.10.1";
   pname = "phonon-backend-vlc";
 in
 
-assert withQt5 -> qtbase != null;
-assert withQt5 -> qtx11extras != null;
+assert withQt4 -> qt4 != null;
+assert !withQt4 -> qtbase != null;
+assert !withQt4 -> qtx11extras != null;
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${if withQt5 then "qt5" else "qt4"}-${v}";
+  name = "${pname}-${if withQt4 then "qt4" else "qt5"}-${v}";
 
   meta = with stdenv.lib; {
     homepage = https://phonon.kde.org/;
@@ -25,16 +26,16 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
-    sha256 = "1gnd1j305mqajw5gxm42vg6ajkvi8611bxgc3qhj5k0saz5dgkn0";
+    sha256 = "0b87mzkw9fdkrwgnh1kw5i5wnrd05rl42hynlykb7cfymsk6v5h9";
   };
 
   buildInputs =
     [ phonon vlc ]
-    ++ (if withQt5 then [ qtbase qtx11extras ] else [ qt4 ]);
+    ++ (if withQt4 then [ qt4 ] else [ qtbase qtx11extras ]);
 
-  nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 extra-cmake-modules;
+  nativeBuildInputs = [ cmake pkgconfig ] ++ optional (!withQt4) extra-cmake-modules;
 
   cmakeFlags =
     [ "-DCMAKE_BUILD_TYPE=${if debug then "Debug" else "Release"}" ]
-    ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
+    ++ optional (!withQt4) "-DPHONON_BUILD_PHONON4QT5=ON";
 }
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index 8e1ee8196c30e..82574864ec43e 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -6,7 +6,7 @@
 with lib;
 
 let
-  v = "4.9.1";
+  v = "4.10.1";
 
   soname = if withQt5 then "phonon4qt5" else "phonon";
   buildsystemdir = "share/cmake/${soname}";
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
-    sha256 = "177647r2jqfm32hqcz2nqfqv6v48hn5ab2vc31svba2wz23fkgk7";
+    sha256 = "1dwdw0hm6685psrp7v9frhkhqvsxrbdnm3gw794j5z7g3brqvag5";
   };
 
   buildInputs =
diff --git a/pkgs/development/libraries/physics/cernlib/default.nix b/pkgs/development/libraries/physics/cernlib/default.nix
index dad138c8433ac..f837d807219fe 100644
--- a/pkgs/development/libraries/physics/cernlib/default.nix
+++ b/pkgs/development/libraries/physics/cernlib/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "cernlib-${version}";
 
   src = fetchurl {
-    url = "http://cernlib.web.cern.ch/cernlib/download/${version}_source/tar/${version}_src.tar.gz";
+    url = "https://cernlib.web.cern.ch/cernlib/download/${version}_source/tar/${version}_src.tar.gz";
     sha256 = "0awla1rl96z82br7slcmg8ks1d2a7slk6dj79ywb871j2ksi3fky";
   };
 
diff --git a/pkgs/development/libraries/physics/fastjet/default.nix b/pkgs/development/libraries/physics/fastjet/default.nix
index 0ee68415b89cb..7a65da25890f0 100644
--- a/pkgs/development/libraries/physics/fastjet/default.nix
+++ b/pkgs/development/libraries/physics/fastjet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "fastjet-${version}";
-  version = "3.3.0";
+  version = "3.3.1";
 
   src = fetchurl {
     url = "http://fastjet.fr/repo/fastjet-${version}.tar.gz";
-    sha256 = "03x75mmnlw2m0a7669k82rf9a7dgjwygf8wjbk8cdgnb82c5pnp9";
+    sha256 = "0lvchyh9q2p8lb10isazw0wbwzs24yg7gxyhpj9xpvz5hydyvgvn";
   };
 
   buildInputs = [ python2 ];
@@ -26,8 +26,9 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A software package for jet finding in pp and e+e− collisions";
-    license     = stdenv.lib.licenses.gpl2;
+    license     = stdenv.lib.licenses.gpl2Plus;
     homepage    = http://fastjet.fr/;
     platforms   = stdenv.lib.platforms.unix;
+    maintainers = with stdenv.lib.maintainers; [ veprbl ];
   };
 }
diff --git a/pkgs/development/libraries/physics/fastnlo/default.nix b/pkgs/development/libraries/physics/fastnlo/default.nix
index e568e1597972c..e3291907d31fc 100644
--- a/pkgs/development/libraries/physics/fastnlo/default.nix
+++ b/pkgs/development/libraries/physics/fastnlo/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "2.3.1pre-2402";
 
   src = fetchurl {
-    url = "http://fastnlo.hepforge.org/code/v23/${name}.tar.gz";
+    url = "https://fastnlo.hepforge.org/code/v23/${name}.tar.gz";
     sha256 = "1h41xnqcz401x3zbs8i2dsb4xlhbv8i5ps0561p6y7gcyridgcbl";
   };
 
diff --git a/pkgs/development/libraries/physics/geant4/datasets-hook.sh b/pkgs/development/libraries/physics/geant4/datasets-hook.sh
new file mode 100644
index 0000000000000..14e3b8f2fc38b
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/datasets-hook.sh
@@ -0,0 +1,5 @@
+@name@ () {
+    export G4@envvar@DATA="@out@/data"
+}
+
+postHooks+=(@name@)
diff --git a/pkgs/development/libraries/physics/geant4/datasets.nix b/pkgs/development/libraries/physics/geant4/datasets.nix
new file mode 100644
index 0000000000000..88f2dc2cd6d4b
--- /dev/null
+++ b/pkgs/development/libraries/physics/geant4/datasets.nix
@@ -0,0 +1,103 @@
+{ stdenv, fetchurl, }:
+
+let
+  mkDataset = { name, version, sha256, envvar}:
+    stdenv.mkDerivation {
+      inherit name version;
+
+      src = fetchurl {
+        url = "https://geant4-data.web.cern.ch/geant4-data/datasets/${name}.${version}.tar.gz";
+        inherit sha256;
+      };
+
+      preferLocalBuild = true;
+      dontBuild = true;
+      dontConfigure = true;
+
+      installPhase = ''
+        mkdir -p $out/data
+        mv ./* $out/data
+      '';
+
+      inherit envvar;
+      setupHook = ./datasets-hook.sh;
+
+      meta = with stdenv.lib; {
+        description = "Data files for the Geant4 toolkit";
+        homepage = "https://geant4.web.cern.ch/support/download";
+        license = licenses.g4sl;
+        platforms = platforms.all;
+      };
+    };
+in
+  builtins.listToAttrs (map (a: { inherit (a) name; value = mkDataset a; }) [
+    {
+      name = "G4NDL";
+      version = "4.5";
+      sha256 = "cba928a520a788f2bc8229c7ef57f83d0934bb0c6a18c31ef05ef4865edcdf8e";
+      envvar = "NEUTRONHP";
+    }
+
+    {
+      name = "G4EMLOW";
+      version = "7.3";
+      sha256 = "583aa7f34f67b09db7d566f904c54b21e95a9ac05b60e2bfb794efb569dba14e";
+      envvar = "LE";
+    }
+
+    {
+      name = "G4PhotonEvaporation";
+      version = "5.2";
+      sha256 = "83607f8d36827b2a7fca19c9c336caffbebf61a359d0ef7cee44a8bcf3fc2d1f";
+      envvar = "LEVELGAMMA";
+    }
+
+    {
+      name = "G4RadioactiveDecay";
+      version = "5.2";
+      sha256 = "99c038d89d70281316be15c3c98a66c5d0ca01ef575127b6a094063003e2af5d";
+      envvar = "RADIOACTIVE";
+    }
+
+    {
+      name = "G4SAIDDATA";
+      version = "1.1";
+      sha256 = "a38cd9a83db62311922850fe609ecd250d36adf264a88e88c82ba82b7da0ed7f";
+      envvar = "SAIDXS";
+    }
+
+    {
+      name = "G4NEUTRONXS";
+      version = "1.4";
+      sha256 = "57b38868d7eb060ddd65b26283402d4f161db76ed2169437c266105cca73a8fd";
+      envvar = "NEUTRONXS";
+    }
+
+    {
+      name = "G4ABLA";
+      version = "3.1";
+      sha256 = "7698b052b58bf1b9886beacdbd6af607adc1e099fc730ab6b21cf7f090c027ed";
+      envvar = "ABLA";
+    }
+
+    {
+      name = "G4PII";
+      version = "1.3";
+      sha256 = "6225ad902675f4381c98c6ba25fc5a06ce87549aa979634d3d03491d6616e926";
+      envvar = "PII";
+    }
+
+    {
+      name = "G4ENSDFSTATE";
+      version = "2.2";
+      sha256 = "dd7e27ef62070734a4a709601f5b3bada6641b111eb7069344e4f99a01d6e0a6";
+      envvar = "ENSDFSTATE";
+    }
+
+    {
+      name = "G4RealSurface";
+      version = "2.1";
+      sha256 = "2a287adbda1c0292571edeae2082a65b7f7bd6cf2bf088432d1d6f889426dcf3";
+      envvar = "REALSURFACE";
+    }
+  ])
diff --git a/pkgs/development/libraries/physics/geant4/default.nix b/pkgs/development/libraries/physics/geant4/default.nix
index 794d0b24c7783..87af069c18a5f 100644
--- a/pkgs/development/libraries/physics/geant4/default.nix
+++ b/pkgs/development/libraries/physics/geant4/default.nix
@@ -24,9 +24,14 @@
 # For enableXM.
 , motif ? null # motif or lesstif
 
+# For enableInventor
+, coin3d
+, soxt
+, libXpm ? null
+
 # For enableQT, enableXM, enableOpenGLX11, enableRaytracerX11.
-, libGLU_combined   ? null
-, xlibsWrapper    ? null
+, libGLU_combined ? null
+, xlibsWrapper ? null
 , libXmu ? null
 }:
 
@@ -43,6 +48,7 @@ assert enableXM -> motif != null;
 assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libGLU_combined   != null;
 assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> xlibsWrapper    != null;
 assert enableQT || enableXM || enableOpenGLX11 || enableRaytracerX11 -> libXmu != null;
+assert enableInventor -> libXpm != null;
 
 let
   buildGeant4 =
@@ -52,18 +58,11 @@ let
       inherit version src;
       name = "geant4-${version}";
 
-      # The data directory holds not just interaction cross section data, but other
-      # files which the installer needs to write, so we link to the previously installed
-      # data instead. This assumes the default data installation location of $out/share.
-      preConfigure = ''
-        mkdir -p $out/share/Geant4-${version}
-        ln -s ${g4data}/Geant4-${version}/data $out/share/Geant4-${version}/data
-      '';
-
       multiThreadingFlag = if multiThreadingCapable then "-DGEANT4_BUILD_MULTITHREADED=${if enableMultiThreading then "ON" else "OFF"}" else "";
 
       cmakeFlags = ''
         ${multiThreadingFlag}
+        -DGEANT4_INSTALL_DATA=OFF
         -DGEANT4_USE_GDML=${if enableGDML then "ON" else "OFF"}
         -DGEANT4_USE_G3TOG4=${if enableG3toG4 then "ON" else "OFF"}
         -DGEANT4_USE_QT=${if enableQT then "ON" else "OFF"}
@@ -74,24 +73,31 @@ let
         -DGEANT4_USE_SYSTEM_CLHEP=${if clhep != null then "ON" else "OFF"}
         -DGEANT4_USE_SYSTEM_EXPAT=${if expat != null then "ON" else "OFF"}
         -DGEANT4_USE_SYSTEM_ZLIB=${if zlib != null then "ON" else "OFF"}
+        -DINVENTOR_INCLUDE_DIR=${coin3d}/include
+        -DINVENTOR_LIBRARY_RELEASE=${coin3d}/lib/libCoin.so
       '';
 
-      g4data = installData {
-        inherit version src;
-      };
-
       enableParallelBuilding = true;
-      buildInputs = [ cmake clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu ];
-      propagatedBuildInputs = [ g4data clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu ];
+      buildInputs = [ cmake clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu libXpm coin3d soxt ];
+      propagatedBuildInputs = [ clhep expat zlib xercesc qt motif libGLU_combined xlibsWrapper libXmu libXpm coin3d soxt ];
+
+      postFixup = ''
+        # Don't try to export invalid environment variables.
+        sed -i 's/export G4\([A-Z]*\)DATA/#export G4\1DATA/' "$out"/bin/geant4.sh
+      '';
 
-      setupHook = ./setup-hook.sh;
+      setupHook = ./geant4-hook.sh;
+
+      passthru = {
+        data = import ./datasets.nix { inherit stdenv fetchurl; };
+      };
 
       # Set the myriad of envars required by Geant4 if we use a nix-shell.
       shellHook = ''
         source $out/nix-support/setup-hook
       '';
 
-      meta = {
+      meta = with stdenv.lib; {
         description = "A toolkit for the simulation of the passage of particles through matter";
         longDescription = ''
           Geant4 is a toolkit for the simulation of the passage of particles through matter.
@@ -99,44 +105,12 @@ let
           The two main reference papers for Geant4 are published in Nuclear Instruments and Methods in Physics Research A 506 (2003) 250-303, and IEEE Transactions on Nuclear Science 53 No. 1 (2006) 270-278.
         '';
         homepage = http://www.geant4.org;
-        license = stdenv.lib.licenses.g4sl;
-        maintainers = [ ];
-        platforms = stdenv.lib.platforms.all;
+        license = licenses.g4sl;
+        maintainers = with maintainers; [ tmplt ];
+        platforms = platforms.all;
       };
     };
 
-  installData = 
-    { version, src }:
- 
-    stdenv.mkDerivation rec {
-      inherit version src;
-      name = "g4data-${version}";
-
-      cmakeFlags = ''
-        -DGEANT4_INSTALL_DATA="ON"
-      '';
-
-      buildInputs = [ cmake expat ];
-
-      enableParallelBuilding = true;
-      buildPhase = ''
-        make G4EMLOW G4NDL G4NEUTRONXS G4PII G4SAIDDATA PhotonEvaporation RadioactiveDecay RealSurface
-      '';
-
-      installPhase = ''
-        mkdir -p $out/Geant4-${version}
-        cp -R data/ $out/Geant4-${version}
-      '';
-
-      meta = {
-        description = "Data files for the Geant4 toolkit";
-        homepage = http://www.geant4.org;
-        license = stdenv.lib.licenses.g4sl;
-        maintainers = [ ];
-        platforms = stdenv.lib.platforms.all;
-      };
-    }; 
-
   fetchGeant4 = import ./fetch.nix {
     inherit stdenv fetchurl;
   };
@@ -146,5 +120,9 @@ in {
     inherit (fetchGeant4.v10_0_2) version src;
     multiThreadingCapable = true;
   };
-} 
- 
+
+  v10_4_1 = buildGeant4 {
+    inherit (fetchGeant4.v10_4_1) version src;
+    multiThreadingCapable = true;
+  };
+}
diff --git a/pkgs/development/libraries/physics/geant4/fetch.nix b/pkgs/development/libraries/physics/geant4/fetch.nix
index 0e5dd54c6ae7e..7dc4c86562797 100644
--- a/pkgs/development/libraries/physics/geant4/fetch.nix
+++ b/pkgs/development/libraries/physics/geant4/fetch.nix
@@ -13,7 +13,17 @@ in {
     src = fetchurl{
       url = "http://geant4.cern.ch/support/source/geant4.10.00.p02.tar.gz";
       sha256 = "9d615200901f1a5760970e8f5970625ea146253e4f7c5ad9df2a9cf84549e848";
-    };  
+    };
   };
+
+  v10_4_1 = fetch {
+    version = "10.4.1";
+
+    src = fetchurl{
+      url = "http://cern.ch/geant4-data/releases/geant4.10.04.p01.tar.gz";
+      sha256 = "a3eb13e4f1217737b842d3869dc5b1fb978f761113e74bd4eaf6017307d234dd";
+    };
+  };
+
 }
 
diff --git a/pkgs/development/libraries/physics/geant4/setup-hook.sh b/pkgs/development/libraries/physics/geant4/geant4-hook.sh
index 0b775d432831b..0b775d432831b 100644
--- a/pkgs/development/libraries/physics/geant4/setup-hook.sh
+++ b/pkgs/development/libraries/physics/geant4/geant4-hook.sh
diff --git a/pkgs/development/libraries/physics/herwig/default.nix b/pkgs/development/libraries/physics/herwig/default.nix
index f3ba8a4a6ff66..a8655c2dcbe3b 100644
--- a/pkgs/development/libraries/physics/herwig/default.nix
+++ b/pkgs/development/libraries/physics/herwig/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchpatch, fetchurl, boost, fastjet, gfortran, gsl, lhapdf, thepeg, zlib, autoconf, automake, libtool }:
+{ stdenv, fetchurl, boost, fastjet, gfortran, gsl, lhapdf, thepeg, zlib, autoconf, automake, libtool }:
 
 stdenv.mkDerivation rec {
   name = "herwig-${version}";
-  version = "7.1.2";
+  version = "7.1.3";
 
   src = fetchurl {
-    url = "http://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
-    sha256 = "0wr2mmmf5rlvcc6xgdagafm6vb5g6ifvrjc7kd86gs9jip32p29i";
+    url = "https://www.hepforge.org/archive/herwig/Herwig-${version}.tar.bz2";
+    sha256 = "1iq1h5ap86729c4pfkswzfh0l2v20fyvqsb15c35g0407l54wfqm";
   };
 
   nativeBuildInputs = [ autoconf automake libtool ];
diff --git a/pkgs/development/libraries/physics/lhapdf/default.nix b/pkgs/development/libraries/physics/lhapdf/default.nix
index 93e0fa99c347b..7f89c92772c39 100644
--- a/pkgs/development/libraries/physics/lhapdf/default.nix
+++ b/pkgs/development/libraries/physics/lhapdf/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "6.2.1";
 
   src = fetchurl {
-    url = "http://www.hepforge.org/archive/lhapdf/LHAPDF-${version}.tar.gz";
+    url = "https://www.hepforge.org/archive/lhapdf/LHAPDF-${version}.tar.gz";
     sha256 = "0bi02xcmq5as0wf0jn6i3hx0qy0hj61m02sbrbzd1gwjhpccwmvd";
   };
 
diff --git a/pkgs/development/libraries/physics/mcgrid/default.nix b/pkgs/development/libraries/physics/mcgrid/default.nix
index aabe132e73b32..b287e52b24313 100644
--- a/pkgs/development/libraries/physics/mcgrid/default.nix
+++ b/pkgs/development/libraries/physics/mcgrid/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fastnlo, rivet, pkgconfig, sherpa }:
+{ stdenv, fetchurl, fastnlo, rivet, pkgconfig }:
 
 stdenv.mkDerivation rec {
   name = "mcgrid-${version}";
   version = "2.0.2";
 
   src = fetchurl {
-    url = "http://www.hepforge.org/archive/mcgrid/${name}.tar.gz";
+    url = "https://www.hepforge.org/archive/mcgrid/${name}.tar.gz";
     sha256 = "1mw82x7zqbdchnd6shj3dirsav5i2cndp2hjwb8a8xdh4xh9zvfy";
   };
 
diff --git a/pkgs/development/libraries/physics/nlojet/default.nix b/pkgs/development/libraries/physics/nlojet/default.nix
index 974563c903726..2f79a2b76ab9c 100644
--- a/pkgs/development/libraries/physics/nlojet/default.nix
+++ b/pkgs/development/libraries/physics/nlojet/default.nix
@@ -1,11 +1,11 @@
-{ stdenv, fetchurl, fetchpatch }:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "nlojet++";
+  name = "nlojet++-${version}";
   version = "4.1.3";
 
   src = fetchurl {
-    url = "http://desy.de/~znagy/hep-programs/nlojet++/nlojet++-${version}.tar.gz";
+    url = "https://desy.de/~znagy/hep-programs/nlojet++/nlojet++-${version}.tar.gz";
     sha256 = "18qfn5kjzvnyh29x40zm2maqzfmrnay9r58n8pfpq5lcphdhhv8p";
   };
 
diff --git a/pkgs/development/libraries/physics/pythia/default.nix b/pkgs/development/libraries/physics/pythia/default.nix
index eca2807ce1531..3f9f3f8498bd2 100644
--- a/pkgs/development/libraries/physics/pythia/default.nix
+++ b/pkgs/development/libraries/physics/pythia/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pythia-${version}";
-  version = "8.226";
+  version = "8.235";
 
   src = fetchurl {
     url = "http://home.thep.lu.se/~torbjorn/pythia8/pythia${builtins.replaceStrings ["."] [""] version}.tgz";
-    sha256 = "1jfjkq78d1llrrm2k5pgsl92a5z8af9rx3n83rzv28lxrqdjix4g";
+    sha256 = "17cfgs7v469pdnnzvlmdagcdhi0h419znqmaws90l9d8cmhhsbz8";
   };
 
   buildInputs = [ boost fastjet hepmc zlib rsync lhapdf ];
@@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--enable-shared"
     "--with-hepmc2=${hepmc}"
+    "--with-lhapdf6=${lhapdf}"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/physics/rivet/default.nix b/pkgs/development/libraries/physics/rivet/default.nix
index c13b659f792e1..639da1687a72f 100644
--- a/pkgs/development/libraries/physics/rivet/default.nix
+++ b/pkgs/development/libraries/physics/rivet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "rivet-${version}";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchurl {
-    url = "http://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
-    sha256 = "007rwal8wx2k9gs0r6kym6ix0siz0x9l55q9myq41siirpf2jcpv";
+    url = "https://www.hepforge.org/archive/rivet/Rivet-${version}.tar.bz2";
+    sha256 = "08lhr10h97vqhy6ci4zna4ngx9875j32zs8ad5sy38xgbbrx3474";
   };
 
   patches = [
@@ -28,6 +28,10 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ fastjet ghostscript gsl yoda ];
 
   preConfigure = ''
+    substituteInPlace Makefile.in \
+      --replace "SUBDIRS = src pyext data include bin analyses doc test" "SUBDIRS = src pyext data include bin analyses test"
+    substituteInPlace analyses/Makefile.in \
+      --replace "!(tmp)" ""
     substituteInPlace bin/rivet-buildplugin.in \
       --replace '"which"' '"${which}/bin/which"' \
       --replace 'mycxx=' 'mycxx=${stdenv.cc}/bin/${if stdenv.cc.isClang or false then "clang++" else "g++"}  #' \
diff --git a/pkgs/development/libraries/physics/thepeg/default.nix b/pkgs/development/libraries/physics/thepeg/default.nix
index 63db874d8480a..feffa5c11d545 100644
--- a/pkgs/development/libraries/physics/thepeg/default.nix
+++ b/pkgs/development/libraries/physics/thepeg/default.nix
@@ -2,17 +2,18 @@
 
 stdenv.mkDerivation rec {
   name = "thepeg-${version}";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchurl {
-    url = "http://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
-    sha256 = "0jbz70ax05w3lpjvz71fnfz35rcjp0jry1nyjpa662714xd6f3va";
+    url = "https://www.hepforge.org/archive/thepeg/ThePEG-${version}.tar.bz2";
+    sha256 = "030wpk78mwb56iph5iqmblsxgzpydsa25bbkv07bihihfm8gds0n";
   };
 
   buildInputs = [ boost fastjet gsl hepmc lhapdf rivet zlib ];
 
   configureFlags = [
     "--with-hepmc=${hepmc}"
+    "--with-rivet=${rivet}"
     "--without-javagui"
   ];
 
diff --git a/pkgs/development/libraries/physics/yoda/default.nix b/pkgs/development/libraries/physics/yoda/default.nix
index 7519d0da03fc1..c86b0ed3d1c82 100644
--- a/pkgs/development/libraries/physics/yoda/default.nix
+++ b/pkgs/development/libraries/physics/yoda/default.nix
@@ -1,12 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, python2Packages, root, makeWrapper, zlib, withRootSupport ? false }:
+{ stdenv, fetchurl, python2Packages, root, makeWrapper, zlib, withRootSupport ? false }:
 
 stdenv.mkDerivation rec {
   name = "yoda-${version}";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchurl {
-    url = "http://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
-    sha256 = "0fyf6ld1klzlfmr5sl1jxzck4a0h14zfkrff8397rn1fqnqbzmmk";
+    url = "https://www.hepforge.org/archive/yoda/YODA-${version}.tar.bz2";
+    sha256 = "0yq20fnckf6h0a53ghxsgia6ikq71ch9a0w0khq188r7rlg9gmzd";
   };
 
   pythonPath = []; # python wrapper support
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "Provides small set of data analysis (specifically histogramming) classes";
     license     = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/libraries/pipewire/default.nix b/pkgs/development/libraries/pipewire/default.nix
index 7e7314c936dd3..c50fc9fb35c8f 100644
--- a/pkgs/development/libraries/pipewire/default.nix
+++ b/pkgs/development/libraries/pipewire/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, doxygen, graphviz, valgrind
-, glib, dbus, gst_all_1, v4l_utils, alsaLib, ffmpeg, libjack2, libudev, libva, xorg
+, glib, dbus, gst_all_1, v4l_utils, alsaLib, ffmpeg, libjack2, udev, libva, xorg
 , sbc, SDL2, makeFontsConf, freefont_ttf
 }:
 
@@ -26,7 +26,7 @@ in stdenv.mkDerivation rec {
   ];
   buildInputs = [
     glib dbus gst_all_1.gst-plugins-base gst_all_1.gstreamer v4l_utils
-    alsaLib ffmpeg libjack2 libudev libva xorg.libX11 sbc SDL2
+    alsaLib ffmpeg libjack2 udev libva xorg.libX11 sbc SDL2
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/pixman/default.nix b/pkgs/development/libraries/pixman/default.nix
index e70ffc3eb2f14..af4e12a014b7c 100644
--- a/pkgs/development/libraries/pixman/default.nix
+++ b/pkgs/development/libraries/pixman/default.nix
@@ -20,9 +20,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ]
     ++ stdenv.lib.optionals stdenv.cc.isClang [ autoconf automake libtool autoreconfHook ];
 
-  buildInputs = stdenv.lib.optional doCheck libpng;
+  buildInputs = [ libpng ];
 
-  configureFlags = stdenv.lib.optional stdenv.isArm "--disable-arm-iwmmxt";
+  configureFlags = stdenv.lib.optional stdenv.isAarch32 "--disable-arm-iwmmxt";
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 1a1bb1800cf24..5cf5d34b9aff6 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pkcs11-helper-${version}";
-  version = "1.22";
+  version = "1.25.1";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${name}";
-    sha256 = "01v3zv6sr5phqhr2f21fl2rmcnmkp9518dkq82g1v2y9ysjksg7q";
+    sha256 = "1nvj6kdbps860kw64m2rz3v2slyn7jkagfdmskrl6966n99iy2ns";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/development/libraries/poco/default.nix b/pkgs/development/libraries/poco/default.nix
index d44bc78a533db..4dffa7486a1cd 100644
--- a/pkgs/development/libraries/poco/default.nix
+++ b/pkgs/development/libraries/poco/default.nix
@@ -14,6 +14,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib pcre expat sqlite openssl unixODBC mysql.connector-c ];
 
+  MYSQL_DIR = mysql.connector-c;
+  MYSQL_INCLUDE_DIR = "${MYSQL_DIR}/include/mysql";
+
   cmakeFlags = [
     "-DPOCO_UNBUNDLED=ON"
   ];
diff --git a/pkgs/development/libraries/podofo/default.nix b/pkgs/development/libraries/podofo/default.nix
index 84709441b5e71..9a43470de3b72 100644
--- a/pkgs/development/libraries/podofo/default.nix
+++ b/pkgs/development/libraries/podofo/default.nix
@@ -4,11 +4,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "podofo-0.9.5";
+  name = "podofo-0.9.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/podofo/${name}.tar.gz";
-    sha256 = "012kgfx5j5n6w4zkc1d290d2cwjk60jhzsjlr2x19g3yi75q2jc5";
+    sha256 = "0wj0y4zcmj4q79wrn3vv3xq4bb0vhhxs8yifafwy9f2sjm83c5p9";
   };
 
   propagatedBuildInputs = [ zlib freetype libjpeg libtiff fontconfig openssl libpng libidn expat ];
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index ef865529805f9..6675bbf91836c 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -1,104 +1,90 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, glib, expat, pam
-, intltool, spidermonkey_17 , gobjectIntrospection, libxslt, docbook_xsl
-, docbook_xml_dtd_412, gtk-doc
+{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig, glib, expat, pam, perl
+, intltool, spidermonkey_52 , gobjectIntrospection, libxslt, docbook_xsl, dbus
+, docbook_xml_dtd_412, gtk-doc, coreutils
 , useSystemd ? stdenv.isLinux, systemd
+, doCheck ? stdenv.isLinux
 }:
 
 let
 
-  system = "/var/run/current-system/sw";
+  system = "/run/current-system/sw";
   setuid = "/run/wrappers/bin"; #TODO: from <nixos> config.security.wrapperDir;
 
-  foolVars = {
-    SYSCONF = "/etc";
-    DATA = "${system}/share"; # to find share/polkit-1/actions of other apps at runtime
-  };
-
 in
 
 stdenv.mkDerivation rec {
-  name = "polkit-0.113";
+  name = "polkit-0.115";
 
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/polkit/releases/${name}.tar.gz";
-    sha256 = "109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71";
+    url = "https://www.freedesktop.org/software/polkit/releases/${name}.tar.gz";
+    sha256 = "0c91y61y4gy6p91cwbzg32dhavw4b7fflg370rimqhdxpzdfr1rg";
   };
 
-  patches = [
-    (fetchpatch {
-      url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-agent-leaks.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
-      sha256 = "1cxnhj0y30g7ldqq1y6zwsbdwcx7h97d3mpd3h5jy7dhg3h9ym91";
-    })
-    (fetchpatch {
-      url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-polkitpermission-leak.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
-      sha256 = "1h1rkd4avqyyr8q6836zzr3w10jf521gcqnvhrhzwdpgp1ay4si7";
-    })
-    (fetchpatch {
-      url = "http://src.fedoraproject.org/cgit/rpms/polkit.git/plain/polkit-0.113-itstool.patch?id=fa6fd575804de92886c95d3bc2b7eb2abcd13760";
-      sha256 = "0bxmjwp8ahy1y5g1l0kxmld0l3mlvb2l0i5n1qabia3d5iyjkyfh";
-    })
-  ]
-  # Could be applied uncondtionally but don't want to trigger rebuild
-  # https://bugs.freedesktop.org/show_bug.cgi?id=50145
-  ++ stdenv.lib.optional stdenv.hostPlatform.isMusl (fetchpatch {
-    name = "netgroup-optional.patch";
-    url = "https://bugs.freedesktop.org/attachment.cgi?id=118753";
-    sha256 = "1zq51dhmqi9zi86bj9dq4i4pxlxm41k3k4a091j07bd78cjba038";
-  });
 
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i -e "s/-Wl,--as-needed//" configure.ac
+  '';
 
   outputs = [ "bin" "dev" "out" ]; # small man pages in $bin
 
   nativeBuildInputs =
-    [ gtk-doc pkgconfig autoreconfHook intltool gobjectIntrospection ]
+    [ gtk-doc pkgconfig autoreconfHook intltool gobjectIntrospection perl ]
     ++ [ libxslt docbook_xsl docbook_xml_dtd_412 ]; # man pages
   buildInputs =
-    [ glib expat pam spidermonkey_17 gobjectIntrospection ]
+    [ glib expat pam spidermonkey_52 gobjectIntrospection ]
     ++ stdenv.lib.optional useSystemd systemd;
 
-  # Ugly hack to overwrite hardcoded directories
-  # TODO: investigate a proper patch which will be accepted upstream
-  # After update it's good to check the sources via:
-  #   grep '\<PACKAGE_' '--include=*.[ch]' -R
-  CFLAGS = stdenv.lib.concatStringsSep " "
-    ( map (var: ''-DPACKAGE_${var}_DIR=\""${builtins.getAttr var foolVars}"\"'')
-        (builtins.attrNames foolVars) );
+  NIX_CFLAGS_COMPILE = " -Wno-deprecated-declarations "; # for polkit 0.114 and glib 2.56
 
   preConfigure = ''
+    chmod +x test/mocklibc/bin/mocklibc{,-test}.in
     patchShebangs .
-  '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
-    sed '/libsystemd autoconfigured/s/.*/:/' -i configure
-  ''
+
     # ‘libpolkit-agent-1.so’ should call the setuid wrapper on
     # NixOS.  Hard-coding the path is kinda ugly.  Maybe we can just
     # call through $PATH, but that might have security implications.
-  + ''
     substituteInPlace src/polkitagent/polkitagentsession.c \
       --replace   'PACKAGE_PREFIX "/lib/polkit-1/'   '"${setuid}/'
+    substituteInPlace test/data/etc/polkit-1/rules.d/10-testing.rules \
+      --replace   /bin/true ${coreutils}/bin/true \
+      --replace   /bin/false ${coreutils}/bin/false
+
+  '' + stdenv.lib.optionalString useSystemd /* bogus chroot detection */ ''
+    sed '/libsystemd autoconfigured/s/.*/:/' -i configure
   '';
 
   configureFlags = [
-    #"--libexecdir=$(out)/libexec/polkit-1" # this and localstatedir are ignored by configure
+    "--datadir=${system}/share"
+    "--sysconfdir=/etc"
     "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
     "--with-polkitd-user=polkituser" #TODO? <nixos> config.ids.uids.polkituser
     "--with-os-type=NixOS" # not recognized but prevents impurities on non-NixOS
     "--enable-introspection"
-  ];
+  ] ++ stdenv.lib.optional (!doCheck) "--disable-test";
 
   makeFlags = "INTROSPECTION_GIRDIR=$(out)/share/gir-1.0 INTROSPECTION_TYPELIBDIR=$(out)/lib/girepository-1.0";
 
   # The following is required on grsecurity/PaX due to spidermonkey's JIT
-  postBuild = ''
+  postBuild = stdenv.lib.optionalString stdenv.isLinux ''
     paxmark mr src/polkitbackend/.libs/polkitd
+  '' + stdenv.lib.optionalString (stdenv.isLinux && doCheck) ''
     paxmark mr test/polkitbackend/.libs/polkitbackendjsauthoritytest
   '';
 
-  #doCheck = true; # some /bin/bash problem that isn't auto-solved by patchShebangs
+  installFlags=["datadir=$(out)/share" "sysconfdir=$(out)/etc"];
+
+  inherit doCheck;
+  checkInputs = [dbus];
+  checkPhase = ''
+    # tests need access to the system bus
+    dbus-run-session --config-file=${./system_bus.conf} -- sh -c 'DBUS_SYSTEM_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS make check'
+  '';
 
   meta = with stdenv.lib; {
     homepage = http://www.freedesktop.org/wiki/Software/polkit;
     description = "A toolkit for defining and handling the policy that allows unprivileged processes to speak to privileged processes";
-    platforms = platforms.linux;
+    license = licenses.gpl2;
+    platforms = platforms.unix;
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/polkit/system_bus.conf b/pkgs/development/libraries/polkit/system_bus.conf
new file mode 100644
index 0000000000000..435b4740a2f7f
--- /dev/null
+++ b/pkgs/development/libraries/polkit/system_bus.conf
@@ -0,0 +1,58 @@
+<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-Bus Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+  <!-- Our well-known bus type, do not change this -->
+  <type>system</type>
+
+  <!-- Fork into daemon mode -->
+  <fork/>
+
+  <!-- Enable logging to syslog -->
+  <syslog/>
+
+  <!-- Only allow socket-credentials-based authentication -->
+  <auth>EXTERNAL</auth>
+
+  <!-- Only listen on a local socket. (abstract=/path/to/socket 
+       means use abstract namespace, don't really create filesystem 
+       file; only Linux supports this. Use path=/whatever on other 
+       systems.) -->
+  <listen>unix:path=/tmp/system_bus_socket</listen>
+
+  <policy context="default">
+    <!-- All users can connect to system bus -->
+    <allow user="*"/>
+
+    <!-- Holes must be punched in service configuration files for
+         name ownership and sending method calls -->
+    <deny own="*"/>
+    <deny send_type="method_call"/>
+
+    <!-- Signals and reply messages (method returns, errors) are allowed
+         by default -->
+    <allow send_type="signal"/>
+    <allow send_requested_reply="true" send_type="method_return"/>
+    <allow send_requested_reply="true" send_type="error"/>
+
+    <!-- All messages may be received by default -->
+    <allow receive_type="method_call"/>
+    <allow receive_type="method_return"/>
+    <allow receive_type="error"/>
+    <allow receive_type="signal"/>
+
+    <!-- Allow anyone to talk to the message bus -->
+    <allow send_destination="org.freedesktop.DBus"
+           send_interface="org.freedesktop.DBus" />
+    <allow send_destination="org.freedesktop.DBus"
+           send_interface="org.freedesktop.DBus.Introspectable"/>
+    <!-- But disallow some specific bus services -->
+    <deny send_destination="org.freedesktop.DBus"
+          send_interface="org.freedesktop.DBus"
+          send_member="UpdateActivationEnvironment"/>
+    <deny send_destination="org.freedesktop.DBus"
+          send_interface="org.freedesktop.DBus.Debug.Stats"/>
+    <deny send_destination="org.freedesktop.DBus"
+          send_interface="org.freedesktop.systemd1.Activator"/>
+  </policy>
+
+</busconfig>
diff --git a/pkgs/development/libraries/poppler/0.61.nix b/pkgs/development/libraries/poppler/0.61.nix
index 072de0f9fa068..4456cd7ff2858 100644
--- a/pkgs/development/libraries/poppler/0.61.nix
+++ b/pkgs/development/libraries/poppler/0.61.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty
+{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintl
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
 , withData ? true, poppler_data
 , qt5Support ? false, qtbase ? null
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data;
+  buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
 
   # TODO: reduce propagation to necessary libs
   propagatedBuildInputs = with lib;
@@ -32,6 +32,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ninja pkgconfig ];
 
+  # Not sure when and how to pass it.  It seems an upstream bug anyway.
+  CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
+
   cmakeFlags = [
     (mkFlag true "XPDF_HEADERS")
     (mkFlag (!minimal) "GLIB")
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 1f360f0758867..acfae1fc88835 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty
+{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintl
 , zlib, curl, cairo, freetype, fontconfig, lcms, libjpeg, openjpeg
 , withData ? true, poppler_data
 , qt5Support ? false, qtbase ? null
 , introspectionSupport ? false, gobjectIntrospection ? null
-, utils ? false
+, utils ? false, nss ? null
 , minimal ? false, suffix ? "glib"
 }:
 
 let # beware: updates often break cups-filters build
-  version = "0.62.0";
+  version = "0.67.0";
   mkFlag = optset: flag: "-DENABLE_${flag}=${if optset then "on" else "off"}";
 in
 stdenv.mkDerivation rec {
@@ -16,22 +16,24 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "1ii9ly1pngyvs0aiq2wxpya08hidpl54y7nsb8b1vxnnskgp76jv";
+    sha256 = "1yb6agmcxf0ixqm65d4aknl0hgmswf94x0k59ic0qqav1wd4yjm3";
   };
 
   outputs = [ "out" "dev" ];
 
-  buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data;
+  buildInputs = [ libiconv libintl ] ++ lib.optional withData poppler_data;
 
   # TODO: reduce propagation to necessary libs
   propagatedBuildInputs = with lib;
     [ zlib freetype fontconfig libjpeg openjpeg ]
     ++ optionals (!minimal) [ cairo lcms curl ]
     ++ optional qt5Support qtbase
+    ++ optional utils nss
     ++ optional introspectionSupport gobjectIntrospection;
 
   nativeBuildInputs = [ cmake ninja pkgconfig ];
 
+  # Not sure when and how to pass it.  It seems an upstream bug anyway.
   CXXFLAGS = stdenv.lib.optionalString stdenv.cc.isClang "-std=c++11";
 
   cmakeFlags = [
@@ -48,7 +50,9 @@ stdenv.mkDerivation rec {
     description = "A PDF rendering library";
 
     longDescription = ''
-      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
+      Poppler is a PDF rendering library based on the xpdf-3.0 code
+      base. In addition it provides a number of tools that can be
+      installed separately.
     '';
 
     license = licenses.gpl2;
diff --git a/pkgs/development/libraries/poppler/qt4.nix b/pkgs/development/libraries/poppler/qt4.nix
deleted file mode 100644
index c82a543413e2c..0000000000000
--- a/pkgs/development/libraries/poppler/qt4.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-# TODO: get rid of this (https://github.com/NixOS/nixpkgs/issues/32883)
-{ stdenv, lib, fetchurl, cmake, ninja, pkgconfig, libiconv, libintlOrEmpty
-, zlib, curl, cairo, freetype, fontconfig, lcms2, libjpeg, openjpeg
-, poppler_data, qt4
-}:
-
-let
-  # Last version supporting QT4
-  version = "0.61.1";
-in
-stdenv.mkDerivation rec {
-  name = "poppler-qt4-${version}";
-
-  src = fetchurl {
-    url = "${meta.homepage}/poppler-${version}.tar.xz";
-    sha256 = "1afdrxxkaivvviazxkg5blsf2x24sjkfj92ib0d3q5pm8dihjrhj";
-  };
-
-  outputs = [ "out" "dev" ];
-
-  buildInputs = [ libiconv poppler_data ] ++ libintlOrEmpty;
-
-  propagatedBuildInputs = [ zlib freetype fontconfig libjpeg openjpeg cairo lcms2 curl qt4 ];
-
-  nativeBuildInputs = [ cmake ninja pkgconfig ];
-
-  cmakeFlags = [
-    "-DENABLE_XPDF_HEADERS=on"
-    "-DENABLE_UTILS=off"
-  ];
-
-  meta = with lib; {
-    homepage = https://poppler.freedesktop.org/;
-    description = "A PDF rendering library";
-
-    longDescription = ''
-      Poppler is a PDF rendering library based on the xpdf-3.0 code base.
-    '';
-
-    license = licenses.gpl2;
-    platforms = platforms.all;
-    maintainers = with maintainers; [ ttuegel ];
-  };
-}
diff --git a/pkgs/development/libraries/popt/default.nix b/pkgs/development/libraries/popt/default.nix
index 441da25836d3b..edec0b7f0699f 100644
--- a/pkgs/development/libraries/popt/default.nix
+++ b/pkgs/development/libraries/popt/default.nix
@@ -8,10 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "1j2c61nn2n351nhj4d25mnf3vpiddcykq005w2h6kw79dwlysa77";
   };
 
-  patches = if stdenv.isCygwin then [
+  patches = stdenv.lib.optionals stdenv.isCygwin [
     ./1.16-cygwin.patch
     ./1.16-vpath.patch
-  ] else null;
+  ];
+
+  doCheck = false; # fails
 
   meta = {
     description = "Command line option parsing library";
diff --git a/pkgs/development/libraries/postgis/default.nix b/pkgs/development/libraries/postgis/default.nix
index d201654fbb4cb..a577d318523db 100644
--- a/pkgs/development/libraries/postgis/default.nix
+++ b/pkgs/development/libraries/postgis/default.nix
@@ -1,12 +1,10 @@
 { fetchurl
-, fetchpatch
 , stdenv
 , perl
 , libxml2
 , postgresql
 , geos
 , proj
-, flex
 , gdal
 , json_c
 , pkgconfig
@@ -44,27 +42,16 @@
 
 
 let
-  version = "2.4.3";
-  sha256 = "1fg4pmla5m903m76ndjd8q5dkcykf67v1p4dcajmnr3bvg2p8lza";
+  version = "2.4.4";
+  sha256 = "1hm8migjb53cymp4qvg1h20yqllmy9f7x0awv5450391i6syyqq6";
 in stdenv.mkDerivation rec {
   name = "postgis-${version}";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/postgis/source/postgis-${builtins.toString version}.tar.gz";
+    url = "https://download.osgeo.org/postgis/source/postgis-${builtins.toString version}.tar.gz";
     inherit sha256;
   };
 
-  patches = [
-    (fetchpatch {
-      url = "https://trac.osgeo.org/postgis/changeset/16417?format=diff&new=16417";
-      name = "json-c-0.13.patch";
-      sha256 = "1hk2fh4nsvq76ksi7z4shlgj7fik6ac3sjsb0khsypsjfhz7ic8z";
-      stripLen = 3;
-      extraPrefix = "";
-      excludes = [ "NEWS" ];
-    })
-  ];
-
   # don't pass these vars to the builder
   removeAttrs = ["sql_comments" "sql_srcs"];
 
diff --git a/pkgs/development/libraries/proj/default.nix b/pkgs/development/libraries/proj/default.nix
index b92aa49a092ec..0ebf299a8bfb3 100644
--- a/pkgs/development/libraries/proj/default.nix
+++ b/pkgs/development/libraries/proj/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "proj-4.9.3";
 
   src = fetchurl {
-    url = http://download.osgeo.org/proj/proj-4.9.3.tar.gz;
+    url = https://download.osgeo.org/proj/proj-4.9.3.tar.gz;
     sha256 = "1xw5f427xk9p2nbsj04j6m5zyjlyd66sbvl2bkg8hd1kx8pm9139";
   };
 
diff --git a/pkgs/development/libraries/protobuf/generic.nix b/pkgs/development/libraries/protobuf/generic.nix
index 06154e0008ba5..1a20d806b968b 100644
--- a/pkgs/development/libraries/protobuf/generic.nix
+++ b/pkgs/development/libraries/protobuf/generic.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, version, src
+{ stdenv, version, src
 , autoreconfHook, zlib, gtest
 , ...
 }:
diff --git a/pkgs/development/libraries/prototypejs/default.nix b/pkgs/development/libraries/prototypejs/default.nix
new file mode 100644
index 0000000000000..a56b14384e5bb
--- /dev/null
+++ b/pkgs/development/libraries/prototypejs/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchurl, ... }:
+let
+  version = "1.7.3.0";
+in fetchurl {
+  name = "prototype-${version}.js";
+  url = "https://ajax.googleapis.com/ajax/libs/prototype/${version}/prototype.js";
+  sha256 = "0q43vvrsb22h4jvavs1gk3v4ps61yx9k85b5n6q9mxivhmxprg26";
+
+  meta = with stdenv.lib; {
+    description = "A foundation for ambitious web user interfaces";
+    longDescription = ''
+      Prototype takes the complexity out of client-side web
+      programming. Built to solve real-world problems, it adds
+      useful extensions to the browser scripting environment
+      and provides elegant APIs around the clumsy interfaces
+      of Ajax and the Document Object Model.
+    '';
+    homepage = http://prototypejs.org/;
+    downloadPage = http://prototypejs.org/download/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/development/libraries/ptex/default.nix b/pkgs/development/libraries/ptex/default.nix
index d40ae8564951b..aa17771ec9f2e 100644
--- a/pkgs/development/libraries/ptex/default.nix
+++ b/pkgs/development/libraries/ptex/default.nix
@@ -3,13 +3,13 @@
 stdenv.mkDerivation rec
 {
   name = "ptex-${version}";
-  version = "2.1.28";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "wdas";
     repo = "ptex";
     rev = "v${version}";
-    sha256 = "1h6gb3mpis4m6ph7h9q764w50f9jrar3jz2ja76rn5czy6wn318x";
+    sha256 = "0nfz0y66bmi6xckn1whi4sfd8i3ibln212fgm4img2z98b6vccyg";
   };
 
   outputs = [ "bin" "dev" "out" "lib" ];
diff --git a/pkgs/development/libraries/pth/default.nix b/pkgs/development/libraries/pth/default.nix
index b7b09caed9b31..90dc647233d88 100644
--- a/pkgs/development/libraries/pth/default.nix
+++ b/pkgs/development/libraries/pth/default.nix
@@ -2,19 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "pth-2.0.7";
-  
+
   src = fetchurl {
     url = "mirror://gnu/pth/${name}.tar.gz";
     sha256 = "0ckjqw5kz5m30srqi87idj7xhpw6bpki43mj07bazjm2qmh3cdbj";
   };
 
-  preConfigure = stdenv.lib.optionalString stdenv.isArm ''
+  preConfigure = stdenv.lib.optionalString stdenv.isAarch32 ''
     configureFlagsArray=("CFLAGS=-DJB_SP=8 -DJB_PC=9")
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "The GNU Portable Threads library";
     homepage = http://www.gnu.org/software/pth;
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.lgpl21Plus;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix
index dd33f63c913c9..1730f9b733caa 100644
--- a/pkgs/development/libraries/pugixml/default.nix
+++ b/pkgs/development/libraries/pugixml/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "pugixml-${version}";
-  version = "1.8.1";
+  version = "1.9";
 
   src = fetchurl {
     url = "https://github.com/zeux/pugixml/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "0fcgggry5x5bn0zhb09ij9hb0p45nb0sv0d9fw3cm1cf62hp9n80";
+    sha256 = "19nv3zhik3djp4blc4vrjwrl8dfhzmal8b21sq7y907nhddx6mni";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index fd738faf5074a..018a57ad0571b 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "libupnp-${version}";
-  version = "1.6.21";
+  version = "1.8.3";
 
   src = fetchFromGitHub {
     owner = "mrjimenez";
     repo = "pupnp";
     rev = "release-${version}";
-    sha256 = "07ksfhadinaa20542gblrxi9pqz0v6y70a836hp3qr4037id4nm9";
+    sha256 = "1w0kfq1pg3y2wl6gwkm1w872g0qz29w1z9wj08xxmwnk5mkpvsrl";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/pybind11/default.nix b/pkgs/development/libraries/pybind11/default.nix
new file mode 100644
index 0000000000000..d7bca0de24989
--- /dev/null
+++ b/pkgs/development/libraries/pybind11/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, cmake, python }:
+
+stdenv.mkDerivation rec {
+  name = "pybind-${version}";
+  version = "2.2.2";
+  src = fetchFromGitHub {
+    owner = "pybind";
+    repo = "pybind11";
+    rev = "v${version}";
+    sha256 = "0x71i1n5d02hjbdcnkscrwxs9pb8kplmdpqddhsimabfp84fip48";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  # disable tests as some tests (test_embed/test_interpreter) are failing at the moment
+  cmakeFlags = [
+     "-DPYTHON_EXECUTABLE=${python.interpreter}"
+     "-DPYBIND11_TEST=0"
+  ];
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/pybind/pybind11;
+    description = "Seamless operability between C++11 and Python";
+    longDescription = ''
+      Pybind11 is a lightweight header-only library that exposes
+      C++ types in Python and vice versa, mainly to create Python
+      bindings of existing C++ code.
+    '';
+    platforms = with stdenv.lib.platforms; unix;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ yuriaisaka ];
+  };
+
+}
diff --git a/pkgs/development/libraries/qca2/default.nix b/pkgs/development/libraries/qca2/default.nix
index 4976399a66a6b..ec32c44a91fcb 100644
--- a/pkgs/development/libraries/qca2/default.nix
+++ b/pkgs/development/libraries/qca2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, pkgconfig, qt }:
+{ stdenv, fetchurl, cmake, pkgconfig, qt, darwin }:
 
 stdenv.mkDerivation rec {
   name = "qca-${version}";
@@ -10,21 +10,28 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ qt ];
+  buildInputs = [ qt ]
+    ++ stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
 
   enableParallelBuilding = true;
 
   # tells CMake to use this CA bundle file if it is accessible
-  preConfigure = ''export QC_CERTSTORE_PATH=/etc/ssl/certs/ca-certificates.crt'';
+  preConfigure = ''
+    export QC_CERTSTORE_PATH=/etc/ssl/certs/ca-certificates.crt
+  '';
 
   # tricks CMake into using this CA bundle file if it is not accessible (in a sandbox)
   cmakeFlags = [ "-Dqca_CERTSTORE=/etc/ssl/certs/ca-certificates.crt" ];
 
+  postPatch = ''
+    sed -i -e '1i cmake_policy(SET CMP0025 NEW)' CMakeLists.txt
+  '';
+
   meta = with stdenv.lib; {
     description = "Qt Cryptographic Architecture";
     license = "LGPL";
     homepage = http://delta.affinix.com/qca;
     maintainers = [ maintainers.sander ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qhull/default.nix b/pkgs/development/libraries/qhull/default.nix
index 829765d85499f..596dc543e3352 100644
--- a/pkgs/development/libraries/qhull/default.nix
+++ b/pkgs/development/libraries/qhull/default.nix
@@ -1,28 +1,22 @@
-{stdenv, fetchurl, cmake}:
+{ stdenv, fetchFromGitHub, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "qhull-2012.1";
+  name = "qhull-2016.1";
 
-  src = fetchurl {
-    url = "${meta.homepage}/download/${name}-src.tgz";
-    sha256 = "127zpjp6sm8c101hz239k82lpxqcqf4ksdyfqc2py2sm22kclpm3";
+  src = fetchFromGitHub {
+    owner = "qhull";
+    repo = "qhull";
+    rev = "5bbc75608c817b50383a0c24c3977cc09d0bbfde";
+    sha256 = "0wrgqc2mih7h8fs9v5jcn9dr56afqi9bgh2w9dcvzvzvxizr9kjj";
   };
 
   nativeBuildInputs = [ cmake ];
 
-  cmakeFlags = "-DMAN_INSTALL_DIR=share/man/man1 -DDOC_INSTALL_DIR=share/doc/qhull";
-
-  hardeningDisable = [ "format" ];
-
-  patchPhase = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullIterator.h
-    sed -i 's/namespace std { struct bidirectional_iterator_tag; struct random_access_iterator_tag; }/#include <iterator>/' ./src/libqhullcpp/QhullLinkedList.h
-  '';
-
-  meta = {
+  meta = with stdenv.lib; {
     homepage = http://www.qhull.org/;
-    description = "Computes the convex hull, Delaunay triangulation, Voronoi diagram and more";
-    license = stdenv.lib.licenses.free;
-    platforms = stdenv.lib.platforms.unix;
+    description = "Compute the convex hull, Delaunay triangulation, Voronoi diagram and more";
+    license = licenses.free;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ orivej ];
   };
 }
diff --git a/pkgs/development/libraries/qimageblitz/default.nix b/pkgs/development/libraries/qimageblitz/default.nix
index 4e74e31e3ec82..51253676341ff 100644
--- a/pkgs/development/libraries/qimageblitz/default.nix
+++ b/pkgs/development/libraries/qimageblitz/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, lib, cmake, qt4}:
+{stdenv, fetchurl, cmake, qt4}:
 
 let
   pn = "qimageblitz";
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 00ce513304875..79deb482161f6 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -1,19 +1,27 @@
-{ stdenv, fetchurl, libjpeg, zlib, perl }:
+{ stdenv, fetchurl, fetchpatch, libjpeg, zlib, perl }:
 
-let version = "8.0.2";
+let version = "8.2.1";
 in
 stdenv.mkDerivation rec {
   name = "qpdf-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
-    sha256 = "1hf8jfjar8p7v288d7ccmr8w171mv9kb86b6hq1nk58mnlq1g7mh";
+    sha256 = "1jdb0jj72fjdp6xip4m7yz31r5x13zs7h4smnxsycgw3vbmx6igl";
   };
 
   nativeBuildInputs = [ perl ];
 
   buildInputs = [ zlib libjpeg ];
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2018-9918.patch";
+      url = "https://github.com/qpdf/qpdf/commit/b4d6cf6836ce025ba1811b7bbec52680c7204223";
+      sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+    })
+  ];
+
   postPatch = ''
     patchShebangs qpdf/fix-qdf
   '';
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index d6bd90fa47d80..bc3b444130542 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -3,6 +3,11 @@
 , withQt5 ? false, qtbase ? null, qtmacextras ? null, qmake ? null
 }:
 
+# Fix Xcode 8 compilation problem
+let xcodePatch =
+  fetchurl { url = "https://raw.githubusercontent.com/Homebrew/formula-patches/a651d71/qscintilla2/xcode-8.patch";
+             sha256 = "1a88309fdfd421f4458550b710a562c622d72d6e6fdd697107e4a43161d69bc9"; };
+in
 stdenv.mkDerivation rec {
   pname = "qscintilla";
   version = "2.9.4";
@@ -19,6 +24,9 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ unzip ]
     ++ (if withQt5 then [ qmake ] else [ qmake4Hook ]);
 
+
+  patches = lib.optional (stdenv.isDarwin && withQt5) [ xcodePatch ];
+
   enableParallelBuilding = true;
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index bafe36647359f..f7ddf8ff780cc 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, substituteAll
-, hostPlatform
-, libXrender, libXinerama, libXcursor, libXmu, libXv, libXext
+{ stdenv, lib, fetchurl, fetchpatch, substituteAll
+, libXrender, libXinerama, libXcursor, libXv, libXext
 , libXfixes, libXrandr, libSM, freetype, fontconfig, zlib, libjpeg, libpng
-, libmng, which, libGLSupported, libGL, libGLU, openssl, dbus, cups, pkgconfig
+, libmng, which, libGLSupported, libGLU, openssl, dbus, cups, pkgconfig
 , libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
 , buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst-plugins-base
 , buildWebkit ? (stdenv.isLinux || stdenv.isDarwin)
 , flashplayerFix ? false, gdk_pixbuf
-, gtkStyle ? true, gtk2
+, gtkStyle ? stdenv.hostPlatform == stdenv.buildPlatform, gtk2
 , gnomeStyle ? false, libgnomeui, GConf, gnome_vfs
 , developerBuild ? false
 , docs ? false
@@ -17,8 +16,6 @@
 , cf-private, libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
 }:
 
-with stdenv.lib;
-
 let
   v_maj = "4.8";
   v_min = "7";
@@ -51,12 +48,12 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace /bin/pwd pwd
     substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
     sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+  '' + lib.optionalString stdenv.isDarwin ''
     # remove impure reference to /usr/lib/libstdc++.6.dylib
     # there might be more references, but this is the only one I could find
     substituteInPlace tools/macdeployqt/tests/tst_deployment_mac.cpp \
       --replace /usr/lib/libstdc++.6.dylib "${stdenv.cc}/lib/libstdc++.6.dylib"
-  '' + stdenv.lib.optionalString stdenv.cc.isClang ''
+  '' + lib.optionalString stdenv.cc.isClang ''
     substituteInPlace src/3rdparty/webkit/Source/WebCore/html/HTMLImageElement.cpp \
       --replace 'optionalHeight > 0' 'optionalHeight != NULL'
 
@@ -65,23 +62,23 @@ stdenv.mkDerivation rec {
   '';
 
   patches =
-    [ ./glib-2.32.patch
+    lib.optionals (stdenv.hostPlatform == stdenv.buildPlatform) [
+      ./glib-2.32.patch
       ./libressl.patch
       ./parallel-configure.patch
       ./clang-5-darwin.patch
       ./qt-4.8.7-unixmake-darwin.patch
       (substituteAll {
         src = ./dlopen-absolute-paths.diff;
-        cups = if cups != null then stdenv.lib.getLib cups else null;
+        cups = if cups != null then lib.getLib cups else null;
         icu = icu.out;
         libXfixes = libXfixes.out;
         glibc = stdenv.cc.libc.out;
-        openglDriver = if libGLSupported then libGL.driverLink else "/no-such-path";
       })
       (fetchpatch {
         name = "fix-medium-font.patch";
-        url = "http://anonscm.debian.org/cgit/pkg-kde/qt/qt4-x11.git/plain/debian/patches/"
-          + "kubuntu_39_fix_medium_font.diff?id=21b342d71c19e6d68b649947f913410fe6129ea4";
+        url = "https://salsa.debian.org/qt-kde-team/qt/qt4-x11/raw/"
+          + "21b342d71c19e6d68b649947f913410fe6129ea4/debian/patches/kubuntu_39_fix_medium_font.diff";
         sha256 = "0bli44chn03c2y70w1n8l7ss4ya0b40jqqav8yxrykayi01yf95j";
       })
       (fetchpatch {
@@ -90,25 +87,25 @@ stdenv.mkDerivation rec {
         sha256 = "07lrva7bjh6i40p7b3ml26a2jlznri8bh7y7iyx5zmvb1gfxmj34";
       })
     ]
-    ++ stdenv.lib.optional gtkStyle (substituteAll ({
+    ++ lib.optional gtkStyle (substituteAll ({
         src = ./dlopen-gtkstyle.diff;
         # substituteAll ignores env vars starting with capital letter
         gtk = gtk2.out;
-      } // stdenv.lib.optionalAttrs gnomeStyle {
+      } // lib.optionalAttrs gnomeStyle {
         gconf = GConf.out;
         libgnomeui = libgnomeui.out;
         gnome_vfs = gnome_vfs.out;
       }))
-    ++ stdenv.lib.optional flashplayerFix (substituteAll {
+    ++ lib.optional flashplayerFix (substituteAll {
         src = ./dlopen-webkit-nsplugin.diff;
         gtk = gtk2.out;
         gdk_pixbuf = gdk_pixbuf.out;
       })
-    ++ stdenv.lib.optional stdenv.isAarch64 (fetchpatch {
+    ++ lib.optional stdenv.isAarch64 (fetchpatch {
         url = "https://src.fedoraproject.org/rpms/qt/raw/ecf530486e0fb7fe31bad26805cde61115562b2b/f/qt-aarch64.patch";
         sha256 = "1fbjh78nmafqmj7yk67qwjbhl3f6ylkp6x33b1dqxfw9gld8b3gl";
       })
-    ++ stdenv.lib.optionals stdenv.hostPlatform.isMusl [
+    ++ lib.optionals stdenv.hostPlatform.isMusl [
         ./qt-musl.patch
         ./qt-musl-iconv-no-bom.patch
         ./patch-qthread-stacksize.diff
@@ -128,48 +125,70 @@ stdenv.mkDerivation rec {
       --jobs=$NIX_BUILD_CORES
     "
     unset LD # Makefile uses gcc for linking; setting LD interferes
-  '' + optionalString stdenv.cc.isClang ''
+  '' + lib.optionalString stdenv.cc.isClang ''
     sed -i 's/QMAKE_CC = gcc/QMAKE_CC = clang/' mkspecs/common/g++-base.conf
     sed -i 's/QMAKE_CXX = g++/QMAKE_CXX = clang++/' mkspecs/common/g++-base.conf
+  '' + lib.optionalString stdenv.hostPlatform.isWindows ''
+    sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
+      -e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
+      -e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
+      -e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
+      -e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
+      mkspecs/win32-g++/qmake.conf
   '';
 
   prefixKey = "-prefix ";
 
-  configureFlags =
-    ''
-      -v -no-separate-debug-info -release -fast -confirm-license -opensource
-
-      -${if stdenv.isFreeBSD then "no-" else ""}opengl -xrender -xrandr -xinerama -xcursor -xinput -xfixes -fontconfig
-      -qdbus -${if cups == null then "no-" else ""}cups -glib -dbus-linked -openssl-linked
-
-      ${if mysql != null then "-plugin" else "-no"}-sql-mysql -system-sqlite
-
-      -exceptions -xmlpatterns
-
-      -make libs -make tools -make translations
-      -${if demos then "" else "no"}make demos
-      -${if examples then "" else "no"}make examples
-      -${if docs then "" else "no"}make docs
-
-      -no-phonon ${if buildWebkit then "" else "-no"}-webkit ${if buildMultimedia then "" else "-no"}-multimedia -audio-backend
-      ${if developerBuild then "-developer-build" else ""}
-    '' + optionalString stdenv.isDarwin "-platform unsupported/macx-clang-libc++";
+  configurePlatforms = [];
+  configureFlags = let
+    mk = cond: name: "-${lib.optionalString (!cond) "no-"}${name}";
+    platformFlag =
+      if stdenv.hostPlatform != stdenv.buildPlatform
+      then "-xplatform"
+      else "-platform";
+  in (if stdenv.hostPlatform != stdenv.buildPlatform then [
+    # I've not tried any case other than i686-pc-mingw32.
+    # -nomake tools: it fails linking some asian language symbols
+    # -no-svg: it fails to build on mingw64
+    "-static" "-release" "-confirm-license" "-opensource"
+    "-no-opengl" "-no-phonon"
+    "-no-svg"
+    "-make" "qmake" "-make" "libs" "-nomake" "tools"
+  ] else [
+    "-v" "-no-separate-debug-info" "-release" "-fast" "-confirm-license" "-opensource"
+
+    (mk (!stdenv.isFreeBSD) "opengl") "-xrender" "-xrandr" "-xinerama" "-xcursor" "-xinput" "-xfixes" "-fontconfig"
+    "-qdbus" (mk (cups != null) "cups") "-glib" "-dbus-linked" "-openssl-linked"
+
+    "-${if mysql != null then "plugin" else "no"}-sql-mysql" "-system-sqlite"
+
+    "-exceptions" "-xmlpatterns"
+
+    "-make" "libs" "-make" "tools" "-make" "translations"
+    "-no-phonon" (mk buildWebkit "webkit") (mk buildMultimedia "multimedia") "-audio-backend"
+  ]) ++ [
+    "-${if demos then "" else "no"}make" "demos"
+    "-${if examples then "" else "no"}make" "examples"
+    "-${if docs then "" else "no"}make" "docs"
+  ] ++ lib.optional developerBuild "-developer-build"
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ platformFlag "unsupported/macx-clang-libc++" ]
+    ++ lib.optionals stdenv.hostPlatform.isWindows [ platformFlag "win32-g++-4.6" ];
 
   propagatedBuildInputs =
     [ 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
-    ++ optional libGLSupported libGLU
-    ++ optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
-    ++ optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
+    ++ lib.optional libGLSupported libGLU
+    ++ lib.optional ((buildWebkit || buildMultimedia) && stdenv.isLinux ) alsaLib
+    ++ lib.optionals (buildWebkit || buildMultimedia) [ gstreamer gst-plugins-base ];
 
   # The following libraries are only used in plugins
   buildInputs =
     [ cups # Qt dlopen's libcups instead of linking to it
       postgresql sqlite libjpeg libmng libtiff icu ]
-    ++ optionals (mysql != null) [ mysql.connector-c ]
-    ++ optionals gtkStyle [ gtk2 gdk_pixbuf ]
-    ++ optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
+    ++ lib.optionals (mysql != null) [ mysql.connector-c ]
+    ++ lib.optionals gtkStyle [ gtk2 gdk_pixbuf ]
+    ++ lib.optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
 
   nativeBuildInputs = [ perl pkgconfig which ];
 
@@ -178,14 +197,14 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_COMPILE =
     # with gcc7 the warnings blow the log over Hydra's limit
     [ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ]
-    ++ optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
-    ++ optionals (stdenv.isFreeBSD || stdenv.isDarwin)
+    ++ lib.optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
+    ++ lib.optionals (stdenv.isFreeBSD || stdenv.isDarwin)
       [ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ]
-    ++ optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
+    ++ lib.optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
 
-  NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
+  NIX_LDFLAGS = lib.optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
 
-  preBuild = optionalString stdenv.isDarwin ''
+  preBuild = lib.optionalString stdenv.isDarwin ''
     # resolve "extra qualification on member" error
     sed -i 's/struct ::TabletProximityRec;/struct TabletProximityRec;/' \
       src/gui/kernel/qt_cocoa_helpers_mac_p.h
@@ -193,46 +212,23 @@ stdenv.mkDerivation rec {
     sed -i 's/^\(LIBS[[:space:]]*=.*$\)/\1 -lobjc/' ./src/corelib/Makefile.Release
   '';
 
+  doCheck = false; # qwebframe test fails with fontconfig errors
+
   postInstall = ''
     rm -rf $out/tests
+  ''
+  # I don't know why it does not install qmake
+  + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+    cp bin/qmake* $out/bin
   '';
 
-  crossAttrs = {
-    # I've not tried any case other than i686-pc-mingw32.
-    # -nomake tools:   it fails linking some asian language symbols
-    # -no-svg: it fails to build on mingw64
-    configureFlags = ''
-      -static -release -confirm-license -opensource
-      -no-opengl -no-phonon
-      -no-svg
-      -make qmake -make libs -nomake tools
-      -nomake demos -nomake examples -nomake docs
-    '' + optionalString hostPlatform.isMinGW " -xplatform win32-g++-4.6";
-    patches = [];
-    preConfigure = ''
-      sed -i -e 's/ g++/ ${stdenv.cc.targetPrefix}g++/' \
-        -e 's/ gcc/ ${stdenv.cc.targetPrefix}gcc/' \
-        -e 's/ ar/ ${stdenv.cc.targetPrefix}ar/' \
-        -e 's/ strip/ ${stdenv.cc.targetPrefix}strip/' \
-        -e 's/ windres/ ${stdenv.cc.targetPrefix}windres/' \
-        mkspecs/win32-g++/qmake.conf
-    '';
-
-    # I don't know why it does not install qmake
-    postInstall = ''
-      cp bin/qmake* $out/bin
-    '';
-    configurePlatforms = [];
-    dontStrip = true;
-  } // optionalAttrs hostPlatform.isMinGW {
-    propagatedBuildInputs = [ ];
-  };
+  dontStrip = stdenv.hostPlatform != stdenv.buildPlatform;
 
   meta = {
     homepage    = http://qt-project.org/;
     description = "A cross-platform application framework for C++";
-    license     = licenses.lgpl21Plus; # or gpl3
-    maintainers = with maintainers; [ orivej lovek323 phreedom sander ];
-    platforms   = platforms.unix;
+    license     = lib.licenses.lgpl21Plus; # or gpl3
+    maintainers = with lib.maintainers; [ orivej lovek323 phreedom sander ];
+    platforms   = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
index 0f5cf2b79c965..4c64e9e26e30a 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
+++ b/pkgs/development/libraries/qt-4.x/4.8/dlopen-absolute-paths.diff
@@ -59,32 +59,6 @@ index 6b42d1e..f88b628 100644
      lib.setLoadHints(QLibrary::ImprovedSearchHeuristics);
      if (!lib.load())
          return;
-diff --git a/src/plugins/platforms/xcb/qglxintegration.cpp b/src/plugins/platforms/xcb/qglxintegration.cpp
-index 229d6f9..c122bf3 100644
---- a/src/plugins/platforms/xcb/qglxintegration.cpp
-+++ b/src/plugins/platforms/xcb/qglxintegration.cpp
-@@ -136,7 +136,7 @@ void* QGLXContext::getProcAddress(const QString& procName)
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
--                QLibrary lib(QLatin1String("GL"));
-+                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
-diff --git a/src/plugins/platforms/xlib/qglxintegration.cpp b/src/plugins/platforms/xlib/qglxintegration.cpp
-index 2467247..a2441d4 100644
---- a/src/plugins/platforms/xlib/qglxintegration.cpp
-+++ b/src/plugins/platforms/xlib/qglxintegration.cpp
-@@ -137,7 +137,7 @@ void* QGLXContext::getProcAddress(const QString& procName)
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
--                QLibrary lib(QLatin1String("GL"));
-+                QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
 diff --git a/src/plugins/platforms/xlib/qxlibstatic.cpp b/src/plugins/platforms/xlib/qxlibstatic.cpp
 index f8f3d69..d63c5bc 100644
 --- a/src/plugins/platforms/xlib/qxlibstatic.cpp
diff --git a/pkgs/development/libraries/qt-5/5.10/fetch.sh b/pkgs/development/libraries/qt-5/5.10/fetch.sh
deleted file mode 100644
index 4770644ae4e90..0000000000000
--- a/pkgs/development/libraries/qt-5/5.10/fetch.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.10/5.10.1/submodules/ \
-            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.10/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.10/qtwebkit.patch
deleted file mode 100644
index c78cb58f564b8..0000000000000
--- a/pkgs/development/libraries/qt-5/5.10/qtwebkit.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri
-index 69e4cd1f3..3f729a75e 100644
---- a/Source/WTF/WTF.pri
-+++ b/Source/WTF/WTF.pri
-@@ -12,7 +12,7 @@ mac {
-     # Mac OS does ship libicu but not the associated header files.
-     # Therefore WebKit provides adequate header files.
-     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
--    LIBS += -licucore
-+    LIBS += /usr/lib/libicucore.dylib
- } else:!use?(wchar_unicode): {
-     win32 {
-         CONFIG(static, static|shared) {
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49aa..46772a4bb 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2fea..86fe39ef1 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de65216b..38f5c05e5 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff684..0f6ff63d1 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
diff --git a/pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch b/pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch
deleted file mode 100644
index a012c3f583e30..0000000000000
--- a/pkgs/development/libraries/qt-5/5.10/restore-pc-files.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
-index e6a0d97f1a..b50ce77d51 100644
---- a/mkspecs/features/qt_module.prf
-+++ b/mkspecs/features/qt_module.prf
-@@ -266,7 +266,7 @@ load(qt_installs)
- load(qt_targets)
- 
- # this builds on top of qt_common
--!internal_module:!lib_bundle:if(unix|mingw) {
-+!internal_module:if(unix|mingw) {
-     CONFIG += create_pc
-     QMAKE_PKGCONFIG_DESTDIR = pkgconfig
-     host_build: \
-diff --git a/mkspecs/features/qt_module_headers.prf b/mkspecs/features/qt_module_headers.prf
-index 62b88c6fe2..f302f1e202 100644
---- a/mkspecs/features/qt_module_headers.prf
-+++ b/mkspecs/features/qt_module_headers.prf
-@@ -102,8 +102,7 @@ git_build: \
- else: \
-     INC_PATH = $$MODULE_BASE_INDIR
- include($$INC_PATH/include/$$MODULE_INCNAME/headers.pri, "", true)
--!lib_bundle: \  # Headers are embedded into the bundle, so don't install them separately.
--    CONFIG += qt_install_headers
-+CONFIG += qt_install_headers
- 
- alien_syncqt: return()
- 
diff --git a/pkgs/development/libraries/qt-5/5.10/srcs.nix b/pkgs/development/libraries/qt-5/5.10/srcs.nix
deleted file mode 100644
index 025c7aa44e139..0000000000000
--- a/pkgs/development/libraries/qt-5/5.10/srcs.nix
+++ /dev/null
@@ -1,341 +0,0 @@
-# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
-{ fetchurl, mirror }:
-
-{
-  qt3d = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qt3d-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0fvb346xhiyc0csxcvs5ifwkzs9wnza54vvsw6dvyax76qjv87q4";
-      name = "qt3d-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtactiveqt = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtactiveqt-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1r4i72i1pl9xnmcx8rr8g48fmym8mxs28pkg1nl302xi6izan8ch";
-      name = "qtactiveqt-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtandroidextras = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtandroidextras-everywhere-src-5.10.1.tar.xz";
-      sha256 = "03jmf7gw4abn5gj92b1ns0k75bbi4wycbc4bbb7c9mngzkv3nzkn";
-      name = "qtandroidextras-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtbase = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtbase-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0sd9cn3ywkjfswddcxhbfplkwk8snqld752q5laaapdakhc0wrnq";
-      name = "qtbase-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtcanvas3d = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtcanvas3d-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1h5hpjwdyp824r2ajmaqjcshra06yfzz7dp991h4kf54da79m0ny";
-      name = "qtcanvas3d-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtcharts = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtcharts-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1j8y683ainri9ma44ky6q87pjs1d794znb2wfsrbplixyxxmf3ag";
-      name = "qtcharts-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtconnectivity = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtconnectivity-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1j9ydlkwz3039yslaizz923h0qbszm4z2sqspk28wr8rd3f22a35";
-      name = "qtconnectivity-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtdatavis3d = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtdatavis3d-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0ny8j689jm2fghklzw894yc5hjqa23yf395yv17yvwi72kpiz0b3";
-      name = "qtdatavis3d-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtdeclarative = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtdeclarative-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0lwmg1qan886czzkzi4px36mqxlqiw0acrsa9kqcddg5pi8yvy9s";
-      name = "qtdeclarative-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtdoc = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtdoc-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1gl62acr346jrcfxla8vxlczf706a3md52zc0zaqbjw9rf2bgnqq";
-      name = "qtdoc-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtgamepad = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtgamepad-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1xs6adpnv5ymdmb7kcbvcc0vx2lp6wqz53pzr9amyzbgyl0jiiw5";
-      name = "qtgamepad-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtgraphicaleffects = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtgraphicaleffects-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0zw4n6s42w70r45gjg66ad0s9dpxil6wmwwrivshnqvrnlqhcfrz";
-      name = "qtgraphicaleffects-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtimageformats = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtimageformats-everywhere-src-5.10.1.tar.xz";
-      sha256 = "10x248s4a6ij18awkdskk3g7zfw6gwyj63l2jr803blyfyibl118";
-      name = "qtimageformats-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtlocation = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtlocation-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1jbjzl6gwxy4n43x6m55b86vkdpjvwyvw7xsxg4a40f72xaw0p2y";
-      name = "qtlocation-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtmacextras = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtmacextras-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1jkzizsa8nr1dp5n9p81s6ylnqfh0vqwz8l72632fg68x229jfn7";
-      name = "qtmacextras-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtmultimedia = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtmultimedia-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0j9nq8s2kzfc7zqs253pixqwd5xjv2cbqyik5lgvi9p5bq0riym1";
-      name = "qtmultimedia-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtnetworkauth = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtnetworkauth-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1p6wnma2nygqbjhrbiijjgkc8jq6lkdmq6xaxcgdh8ynkcqiq8wp";
-      name = "qtnetworkauth-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtpurchasing = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtpurchasing-everywhere-src-5.10.1.tar.xz";
-      sha256 = "090gmxy5bp44rirl5yrb1ryn97z37ri4fmmclh9z7c4dvnmr2d3j";
-      name = "qtpurchasing-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtquickcontrols = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtquickcontrols-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1dw22sk2x5bk2mix06w8dv1b05dyq0gx088aqvdz18y67ncs2cfj";
-      name = "qtquickcontrols-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtquickcontrols2 = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtquickcontrols2-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0jk01vgzc78w45q8kys1hwri3jx0hzx5vxivzmv8nh8yj0dlmijx";
-      name = "qtquickcontrols2-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtremoteobjects = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtremoteobjects-everywhere-src-5.10.1.tar.xz";
-      sha256 = "052fa27rv4b9h6qbldrq013zxb69ysgmqnxbyv9c48s2ra50pnp9";
-      name = "qtremoteobjects-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtscript = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtscript-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0bakr5xcxc6j6l78fyazh7sgcz2hwf2g8k60jb9307qzrgvqlqg0";
-      name = "qtscript-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtscxml = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtscxml-everywhere-src-5.10.1.tar.xz";
-      sha256 = "00v1n86pyw9cm320qa2fpazvkfi6czd027x60k2g2sprwh0x4hhb";
-      name = "qtscxml-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtsensors = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtsensors-everywhere-src-5.10.1.tar.xz";
-      sha256 = "15jw2r6snhwi26b4ajp7m89l89kaf1j0kgqds4wjpksk1rngf3dv";
-      name = "qtsensors-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtserialbus = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtserialbus-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0mr2j86mk1fm9z5iba3kav651231j9jv0805q8716h7ia1ws2l06";
-      name = "qtserialbus-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtserialport = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtserialport-everywhere-src-5.10.1.tar.xz";
-      sha256 = "17ja368ggl9aak64r8sqzx34j2i8zv7z60bkhncynrgipc9wpr08";
-      name = "qtserialport-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtspeech = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtspeech-everywhere-src-5.10.1.tar.xz";
-      sha256 = "07clcy3bslq4fk7xb6cqlfsz5frhmy41hzpajdqjwj9h6dvmqxw5";
-      name = "qtspeech-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtsvg = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtsvg-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0nkz3kxclk7s95fnh8xgljahk131mwb8pjllgp7n70ycmc20rq00";
-      name = "qtsvg-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qttools = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qttools-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0lwa0i6zspcrii0ak1dyxacif1fkv2vhmdp3dmp7af71bwg49spi";
-      name = "qttools-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qttranslations = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qttranslations-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1za34rvn3bhzi4mxqm9lghdhaqcxpsi6xa61dfbhpc047l788v8z";
-      name = "qttranslations-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtvirtualkeyboard = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtvirtualkeyboard-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0bnmhy0kibvyra0i15qzwc9195s8wpfhg5gk0d6rfwd5d07gj6a3";
-      name = "qtvirtualkeyboard-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwayland = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwayland-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0mk3p8pkfia3z7v7phk0qdyzd1zkfpk92c995g851p5wbqx699zm";
-      name = "qtwayland-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwebchannel = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwebchannel-everywhere-src-5.10.1.tar.xz";
-      sha256 = "0r1p1ar4xh7g7lzi564hgw1ng5xkim4mkpgq29ymjlmhxjgl8b62";
-      name = "qtwebchannel-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwebengine = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwebengine-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1ph1pinxn0dp44zall9gihbgziira4zpynixacm4ldd85f6lyr0j";
-      name = "qtwebengine-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwebglplugin = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwebglplugin-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1hdzymwai5f6agkn4hz32aq5fjv2lqdac285fwrlk5gsff0j0yal";
-      name = "qtwebglplugin-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwebsockets-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1sjkml5kqigvyxrkv5b7x1cy69d69dzma40yfg72vr7zal4pkkvf";
-      name = "qtwebsockets-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwebview = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwebview-everywhere-src-5.10.1.tar.xz";
-      sha256 = "110mwc423cq1bwdz0vv78cjprzy03xawxnxhfcs4138gssfj0n0b";
-      name = "qtwebview-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwinextras = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtwinextras-everywhere-src-5.10.1.tar.xz";
-      sha256 = "05w9n8kry1mg3i14i4m98gm5hf20mlwxbagbk9xk11xykbm1wh0j";
-      name = "qtwinextras-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtx11extras = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtx11extras-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1d4pvisxbcyb7ljl1lh2zg72kw44h9kk14l0xmvajb8bslgkg2n3";
-      name = "qtx11extras-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtxmlpatterns = {
-    version = "5.10.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.10/5.10.1/submodules/qtxmlpatterns-everywhere-src-5.10.1.tar.xz";
-      sha256 = "1zp9smsfdqyfiarxs7r8kfr7yq68cdn7biddwl36cybax6fgbpiw";
-      name = "qtxmlpatterns-everywhere-src-5.10.1.tar.xz";
-    };
-  };
-  qtwebkit = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-opensource-src-5.9.1.tar.xz";
-      sha256 = "1ksjn1vjbfhdm4y4rg08ag4krk87ahp7qcdcpwll42l0rnz61998";
-      name = "qtwebkit-opensource-src-5.9.1.tar.xz";
-    };
-  };
-  qtwebkit-examples = {
-    version = "5.9.1";
-    src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-      sha256 = "1l2l7ycgqql6rf4gx6sjhsqjapdhvy6vxaxssax3l938nkk4vkp4";
-      name = "qtwebkit-examples-opensource-src-5.9.1.tar.xz";
-    };
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.10/default.nix b/pkgs/development/libraries/qt-5/5.11/default.nix
index a45e055e60b2b..2a706fc7b6e8d 100644
--- a/pkgs/development/libraries/qt-5/5.10/default.nix
+++ b/pkgs/development/libraries/qt-5/5.11/default.nix
@@ -17,7 +17,7 @@ top-level attribute to `top-level/all-packages.nix`.
 
 {
   newScope,
-  stdenv, fetchurl, makeSetupHook, makeWrapper,
+  stdenv, fetchurl, fetchFromGitHub, makeSetupHook,
   bison, cups ? null, harfbuzz, libGL, perl,
   gstreamer, gst-plugins-base, gtk3, dconf,
 
@@ -31,15 +31,19 @@ with stdenv.lib;
 
 let
 
-  qtCompatVersion = "5.10";
+  qtCompatVersion = "5.11";
 
   mirror = "http://download.qt.io";
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
 
   patches = {
-    qtbase = [ ./qtbase.patch ] ++
-      optionals stdenv.isDarwin [ ./qtbase-darwin.patch
-                                  ./restore-pc-files.patch ];
+    qtbase = [
+      ./qtbase.patch
+      ./qtbase-darwin.patch
+      ./qtbase-revert-no-macos10.10.patch
+    ] ++ optionals stdenv.isDarwin [
+      ./qtbase-darwin-nseventtype.patch
+    ];
     qtdeclarative = [ ./qtdeclarative.patch ];
     qtscript = [ ./qtscript.patch ];
     qtserialport = [ ./qtserialport.patch ];
@@ -98,7 +102,15 @@ let
       qtwayland = callPackage ../modules/qtwayland.nix {};
       qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
       qtwebengine = callPackage ../modules/qtwebengine.nix {};
-      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {
+        src = fetchFromGitHub {
+          owner = "annulen";
+          repo = "webkit";
+          rev = "4ce8ebc4094512b9916bfa5984065e95ac97c9d8";
+          sha256 = "05h1xnxzbf7sp3plw5dndsvpf6iigh0bi4vlj4svx0hkf1giakjf";
+        };
+        version = "5.212-alpha-01-26-2018";
+      };
       qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
       qtx11extras = callPackage ../modules/qtx11extras.nix {};
       qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
diff --git a/pkgs/development/libraries/qt-5/5.11/fetch.sh b/pkgs/development/libraries/qt-5/5.11/fetch.sh
new file mode 100644
index 0000000000000..ce82e243af77d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.11/fetch.sh
@@ -0,0 +1,2 @@
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.11/5.11.1/submodules/ \
+            -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch
new file mode 100644
index 0000000000000..9ef6e8ef06927
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin-nseventtype.patch
@@ -0,0 +1,13 @@
+--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
++++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
+@@ -404,8 +404,8 @@ void QCocoaWindow::setVisible(bool visible)
+                         removeMonitor();
+                         monitor = [NSEvent addGlobalMonitorForEventsMatchingMask:NSLeftMouseDownMask|NSRightMouseDownMask|NSOtherMouseDownMask|NSMouseMovedMask handler:^(NSEvent *e) {
+                             QPointF localPoint = QCocoaScreen::mapFromNative([NSEvent mouseLocation]);
+-                            const auto button = e.type == NSEventTypeMouseMoved ? Qt::NoButton : cocoaButton2QtButton([e buttonNumber]);
+-                            const auto eventType = e.type == NSEventTypeMouseMoved ? QEvent::MouseMove : QEvent::MouseButtonPress;
++                            const auto button = e.type == NSMouseMoved ? Qt::NoButton : cocoaButton2QtButton([e buttonNumber]);
++                            const auto eventType = e.type == NSMouseMoved ? QEvent::MouseMove : QEvent::MouseButtonPress;
+                             QWindowSystemInterface::handleMouseEvent(window(), window()->mapFromGlobal(localPoint.toPoint()), localPoint,
+                                                                      Qt::MouseButtons(uint(NSEvent.pressedMouseButtons & 0xFFFF)), button, eventType);
+                         }];
diff --git a/pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin.patch
index fa389fe55c2f9..f663517520544 100644
--- a/pkgs/development/libraries/qt-5/5.10/qtbase-darwin.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qtbase-darwin.patch
@@ -1,16 +1,3 @@
-diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
-index 66baf16..89794ef 100644
---- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
-+++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
-@@ -830,7 +830,7 @@ void QCoreTextFontEngine::getUnscaledGlyph(glyph_t glyph, QPainterPath *path, gl
- 
- QFixed QCoreTextFontEngine::emSquareSize() const
- {
--    return QFixed::QFixed(int(CTFontGetUnitsPerEm(ctfont)));
-+    return QFixed(int(CTFontGetUnitsPerEm(ctfont)));
- }
- 
- QFontEngine *QCoreTextFontEngine::cloneWithSize(qreal pixelSize) const
 diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
 index 341d3bccf2..3368234c26 100644
 --- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
@@ -33,12 +20,25 @@ index 341d3bccf2..3368234c26 100644
      for (NSString *ifName in wifiInterfaces) {
              scanThread->interfaceName = QString::fromNSString(ifName);
              scanThread->start();
+diff --git a/src/plugins/platforms/cocoa/qcocoascreen.mm b/src/plugins/platforms/cocoa/qcocoascreen.mm
+index a17a02b629..d76c42fa03 100644
+--- a/src/plugins/platforms/cocoa/qcocoascreen.mm
++++ b/src/plugins/platforms/cocoa/qcocoascreen.mm
+@@ -114,7 +114,7 @@ void QCocoaScreen::updateGeometry()
+         return;
+
+     // The reference screen for the geometry is always the primary screen
+-    QRectF primaryScreenGeometry = QRectF::fromCGRect([[NSScreen screens] firstObject].frame);
++    QRectF primaryScreenGeometry = QRectF::fromCGRect([[[NSScreen screens] firstObject] frame]);
+     m_geometry = qt_mac_flip(QRectF::fromCGRect(nsScreen.frame), primaryScreenGeometry).toRect();
+     m_availableGeometry = qt_mac_flip(QRectF::fromCGRect(nsScreen.visibleFrame), primaryScreenGeometry).toRect();
+
 diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
-index d1f19f2..1ac2cf1 100644
+index 72f3bc0075..a9c058a850 100644
 --- a/src/plugins/platforms/cocoa/qcocoawindow.mm
 +++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
-@@ -1699,7 +1699,7 @@ void QCocoaWindow::applyContentBorderThickness(NSWindow *window)
-
+@@ -1676,7 +1676,7 @@ void QCocoaWindow::applyContentBorderThickness(NSWindow *window)
+ 
      if (!m_drawContentBorderGradient) {
          window.styleMask = window.styleMask & ~NSTexturedBackgroundWindowMask;
 -        [window.contentView.superview setNeedsDisplay:YES];
@@ -47,10 +47,10 @@ index d1f19f2..1ac2cf1 100644
          return;
      }
 diff --git a/src/plugins/platforms/cocoa/qnswindow.mm b/src/plugins/platforms/cocoa/qnswindow.mm
-index e846fa0..4171cd4 100644
+index cb13b7d184..0159d68dca 100644
 --- a/src/plugins/platforms/cocoa/qnswindow.mm
 +++ b/src/plugins/platforms/cocoa/qnswindow.mm
-@@ -224,7 +224,7 @@ static bool isMouseEvent(NSEvent *ev)
+@@ -231,7 +231,7 @@ static bool isMouseEvent(NSEvent *ev)
      if (pw->frameStrutEventsEnabled() && isMouseEvent(theEvent)) {
          NSPoint loc = [theEvent locationInWindow];
          NSRect windowFrame = [self convertRectFromScreen:self.frame];
@@ -59,12 +59,12 @@ index e846fa0..4171cd4 100644
          if (NSMouseInRect(loc, windowFrame, NO) && !NSMouseInRect(loc, contentFrame, NO))
              [qnsview_cast(pw->view()) handleFrameStrutMouseEvent:theEvent];
      }
-@@ -253,7 +253,7 @@ static bool isMouseEvent(NSEvent *ev)
+@@ -260,7 +260,7 @@ static bool isMouseEvent(NSEvent *ev)
  + (void)applicationActivationChanged:(NSNotification*)notification
  {
      const id sender = self;
 -    NSEnumerator<NSWindow*> *windowEnumerator = nullptr;
 +    NSEnumerator *windowEnumerator = nullptr;
      NSApplication *application = [NSApplication sharedApplication];
-
+ 
  #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12)
diff --git a/pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch b/pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch
new file mode 100644
index 0000000000000..29776518379d2
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.11/qtbase-revert-no-macos10.10.patch
@@ -0,0 +1,102 @@
+Revert "Remove code paths for macOS < 10.11"
+
+This reverts commit 138a65e0cfa80b13fd018a01e7d8b33341a3cfd3.
+
+From 138a65e0cfa80b13fd018a01e7d8b33341a3cfd3 Mon Sep 17 00:00:00 2001
+From: Jake Petroules <jake.petroules@qt.io>
+Date: Thu, 8 Feb 2018 11:05:42 -0800
+Subject: [PATCH] Remove code paths for macOS < 10.11
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Change-Id: I5ae02d88aa3dcd97d1f2ebf6255a68643e5d6daa
+Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
+Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
+Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
+---
+ .../fontdatabases/mac/qfontengine_coretext.mm            | 16 +++-------------
+ src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm    |  6 +-----
+ src/plugins/platforms/cocoa/qnswindowdelegate.mm         | 16 ----------------
+ 3 files changed, 4 insertions(+), 34 deletions(-)
+
+diff --git a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+index 98b753eff9..489d9cd031 100644
+--- a/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
++++ b/src/platformsupport/fontdatabases/mac/qfontengine_coretext.mm
+@@ -47,18 +47,28 @@
+ 
+ #include <cmath>
+ 
+-#if defined(Q_OS_MACOS)
++#if defined(Q_OS_OSX) && !QT_OSX_DEPLOYMENT_TARGET_BELOW(__MAC_10_11)
+ #import <AppKit/AppKit.h>
+ #endif
+ 
+-#if defined(QT_PLATFORM_UIKIT)
++#if defined(QT_PLATFORM_UIKIT) && !QT_IOS_DEPLOYMENT_TARGET_BELOW(__IPHONE_8_2)
+ #import <UIKit/UIKit.h>
+ #endif
+ 
+ // These are available cross platform, exported as kCTFontWeightXXX from CoreText.framework,
+ // but they are not documented and are not in public headers so are private API and exposed
+ // only through the NSFontWeightXXX and UIFontWeightXXX aliases in AppKit and UIKit (rdar://26109857)
+-#if defined(Q_OS_MACOS)
++#if QT_MAC_DEPLOYMENT_TARGET_BELOW(__MAC_10_11, __IPHONE_8_2)
++#define kCTFontWeightUltraLight -0.8
++#define kCTFontWeightThin -0.6
++#define kCTFontWeightLight -0.4
++#define kCTFontWeightRegular 0
++#define kCTFontWeightMedium 0.23
++#define kCTFontWeightSemibold 0.3
++#define kCTFontWeightBold 0.4
++#define kCTFontWeightHeavy 0.56
++#define kCTFontWeightBlack 0.62
++#elif defined(Q_OS_OSX)
+ #define kCTFontWeightUltraLight NSFontWeightUltraLight
+ #define kCTFontWeightThin NSFontWeightThin
+ #define kCTFontWeightLight NSFontWeightLight
+diff --git a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
+index 94f2125bad..272cd9f3dc 100644
+--- a/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
++++ b/src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm
+@@ -162,7 +162,11 @@ QT_NAMESPACE_ALIAS_OBJC_CLASS(QNSOpenSavePanelDelegate);
+     // resetting our mCurrentDir, set the delegate
+     // here to make sure it gets the correct value.
+     [mSavePanel setDelegate:self];
+-    mOpenPanel.accessoryViewDisclosed = YES;
++
++#if QT_OSX_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_11)
++    if (__builtin_available(macOS 10.11, *))
++        mOpenPanel.accessoryViewDisclosed = YES;
++#endif
+ 
+     if (mOptions->isLabelExplicitlySet(QFileDialogOptions::Accept))
+         [mSavePanel setPrompt:[self strip:options->labelText(QFileDialogOptions::Accept)]];
+diff --git a/src/plugins/platforms/cocoa/qnswindowdelegate.mm b/src/plugins/platforms/cocoa/qnswindowdelegate.mm
+index 057a4c2943..eb55e50622 100644
+--- a/src/plugins/platforms/cocoa/qnswindowdelegate.mm
++++ b/src/plugins/platforms/cocoa/qnswindowdelegate.mm
+@@ -103,6 +103,22 @@ static QRegExp whitespaceRegex = QRegExp(QStringLiteral("\\s*"));
+     return QCocoaScreen::mapToNative(maximizedFrame);
+ }
+ 
++#if QT_MACOS_DEPLOYMENT_TARGET_BELOW(__MAC_10_11)
++/*
++    AppKit on OS X 10.10 wrongly calls windowWillUseStandardFrame:defaultFrame
++    from -[NSWindow _frameForFullScreenMode] when going into fullscreen, resulting
++    in black bars on top and bottom of the window. By implementing the following
++    method, AppKit will choose that instead, and resolve the right fullscreen
++    geometry.
++*/
++- (NSSize)window:(NSWindow *)window willUseFullScreenContentSize:(NSSize)proposedSize
++{
++    Q_UNUSED(proposedSize);
++    Q_ASSERT(window == m_cocoaWindow->nativeWindow());
++    return NSSizeFromCGSize(m_cocoaWindow->screen()->geometry().size().toCGSize());
++}
++#endif
++
+ - (BOOL)window:(NSWindow *)window shouldPopUpDocumentPathMenu:(NSMenu *)menu
+ {
+     Q_UNUSED(window);
diff --git a/pkgs/development/libraries/qt-5/5.10/qtbase.patch b/pkgs/development/libraries/qt-5/5.11/qtbase.patch
index 286dea2178b11..fa0b2c51c46e5 100644
--- a/pkgs/development/libraries/qt-5/5.10/qtbase.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qtbase.patch
@@ -12,7 +12,7 @@ index 5208379f9a..92fe29a0ac 100644
  
  QMAKE_LFLAGS_REL_RPATH  =
 diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
-index bb5083c925..77034f9bb6 100644
+index 2ed708e085..05e60ff45f 100644
 --- a/mkspecs/features/create_cmake.prf
 +++ b/mkspecs/features/create_cmake.prf
 @@ -21,7 +21,7 @@ load(cmake_functions)
@@ -24,7 +24,7 @@ index bb5083c925..77034f9bb6 100644
  contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
  
  CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
-@@ -47,47 +47,22 @@ split_incpath {
+@@ -51,45 +51,20 @@ split_incpath {
          $$cmake_extra_source_includes.output
  }
  
@@ -36,8 +36,6 @@ index bb5083c925..77034f9bb6 100644
 +CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
 +CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
  
- !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
- 
 -CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
 -contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
 -    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
@@ -48,25 +46,23 @@ index bb5083c925..77034f9bb6 100644
 -    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
 -    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
 -}
-+CMAKE_LIB_DIR = $$NIX_OUTPUT_OUT/lib/
-+CMAKE_LIB_DIR_IS_ABSOLUTE = True
++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_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
-+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, "^\\.\\./.*") {
@@ -77,12 +73,15 @@ index bb5083c925..77034f9bb6 100644
 -    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
 -    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
 -}
++CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
++CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
++ 
 +CMAKE_DLL_DIR = $$NIX_OUTPUT_OUT/lib/
 +CMAKE_DLL_DIR_IS_ABSOLUTE = True
  
  static|staticlib:CMAKE_STATIC_TYPE = true
  
-@@ -167,7 +142,7 @@ contains(CONFIG, plugin) {
+@@ -169,7 +144,7 @@ contains(CONFIG, plugin) {
        cmake_target_file
  
      cmake_qt5_plugin_file.files = $$cmake_target_file.output
@@ -91,7 +90,7 @@ index bb5083c925..77034f9bb6 100644
      INSTALLS += cmake_qt5_plugin_file
  
      return()
-@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) {
+@@ -316,7 +291,7 @@ exists($$cmake_macros_file.input) {
      cmake_qt5_module_files.files += $$cmake_macros_file.output
  }
  
@@ -101,12 +100,12 @@ index bb5083c925..77034f9bb6 100644
  # 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 55c74aad66..0bbc8718eb 100644
+index 27f4c277d6..18b4813e25 100644
 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
 +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+@@ -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()
- !!ENDIF
  
 -!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
 -!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
@@ -135,7 +134,7 @@ index 55c74aad66..0bbc8718eb 100644
  !!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)")
-@@ -58,11 +34,7 @@ endmacro()
+@@ -52,11 +28,7 @@ endmacro()
  macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
      set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
  
@@ -147,7 +146,7 @@ index 55c74aad66..0bbc8718eb 100644
      _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
      set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
          \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+@@ -69,11 +41,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
      )
  
  !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
@@ -159,7 +158,7 @@ index 55c74aad66..0bbc8718eb 100644
      _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
      if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
          set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
-@@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -89,24 +57,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
@@ -188,7 +187,7 @@ index 55c74aad66..0bbc8718eb 100644
      )
  !!ELSE
      set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -122,7 +79,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
      set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
  !!ENDIF
  !!ENDIF
@@ -196,7 +195,7 @@ index 55c74aad66..0bbc8718eb 100644
  !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
      include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
  !!ENDIF
-@@ -280,25 +236,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -269,25 +225,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)
@@ -222,7 +221,7 @@ index 55c74aad66..0bbc8718eb 100644
          _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
  !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
      endif()
-@@ -317,25 +261,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -306,25 +250,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)
@@ -248,7 +247,7 @@ index 55c74aad66..0bbc8718eb 100644
          _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
  !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
      endif()
-@@ -354,11 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+@@ -343,11 +275,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
      macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
          set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
  
@@ -261,13 +260,14 @@ index 55c74aad66..0bbc8718eb 100644
          set_target_properties(Qt5::${Plugin} PROPERTIES
              \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
 diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
-index 50a1ec6764..d6368b769e 100644
+index 21d487f1f9..a0e5c68b7e 100644
 --- a/mkspecs/features/mac/default_post.prf
 +++ b/mkspecs/features/mac/default_post.prf
-@@ -25,188 +25,3 @@ qt {
+@@ -24,196 +24,3 @@ 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 {
@@ -453,11 +453,18 @@ index 50a1ec6764..d6368b769e 100644
 -    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_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.${PRODUCT_NAME:rfc1034identifier}"
+-QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
 diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
-index f1a4ca77b2..3b01424e67 100644
+index e3534561a5..3b01424e67 100644
 --- a/mkspecs/features/mac/default_pre.prf
 +++ b/mkspecs/features/mac/default_pre.prf
-@@ -1,67 +1,2 @@
+@@ -1,60 +1,2 @@
  CONFIG = asset_catalogs rez $$CONFIG
  load(default_pre)
 -
@@ -518,19 +525,12 @@ index f1a4ca77b2..3b01424e67 100644
 -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
--
--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_identifier_setting.value = "$${xcode_product_bundle_identifier_setting.value}.${PRODUCT_NAME:rfc1034identifier}"
--QMAKE_MAC_XCODE_SETTINGS += xcode_product_bundle_identifier_setting
 diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
-index 3f6dc076ca..e69de29bb2 100644
+index 8360dd8b38..8b13789179 100644
 --- a/mkspecs/features/mac/sdk.prf
 +++ b/mkspecs/features/mac/sdk.prf
-@@ -1,58 +0,0 @@
--
+@@ -1,58 +1 @@
+ 
 -isEmpty(QMAKE_MAC_SDK): \
 -    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
 -
@@ -540,21 +540,21 @@ index 3f6dc076ca..e69de29bb2 100644
 -defineReplace(xcodeSDKInfo) {
 -    info = $$1
 -    equals(info, "Path"): \
--        info = --show-sdk-path
+-        infoarg = --show-sdk-path
 -    equals(info, "PlatformPath"): \
--        info = --show-sdk-platform-path
+-        infoarg = --show-sdk-platform-path
 -    equals(info, "SDKVersion"): \
--        info = --show-sdk-version
+-        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 $$info 2>/dev/null")
+-        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(info, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\'")
+-        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})
 -    }
 -
@@ -572,7 +572,7 @@ index 3f6dc076ca..e69de29bb2 100644
 -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)) {
+-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)
@@ -655,7 +655,7 @@ index 1848f00e90..2af93675c5 100644
 +    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
  }
 diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
-index f4ae5bde80..6d4c6d223f 100644
+index 415044bb64..7163ef56cd 100644
 --- a/mkspecs/features/qt_common.prf
 +++ b/mkspecs/features/qt_common.prf
 @@ -32,8 +32,8 @@ contains(TEMPLATE, .*lib) {
@@ -670,7 +670,7 @@ index f4ae5bde80..6d4c6d223f 100644
      contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
          lib_replace.match = "[^ ']*$$rplbase/lib"
 diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
-index 72dde61a40..f891a2baed 100644
+index 3139c443c6..1b4f2fddd8 100644
 --- a/mkspecs/features/qt_docs.prf
 +++ b/mkspecs/features/qt_docs.prf
 @@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
@@ -709,7 +709,7 @@ index 72dde61a40..f891a2baed 100644
      INSTALLS += inst_qch_docs
  
 diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
-index c9ce926b1a..f00868a031 100644
+index 43b58817fe..e635b8f67a 100644
 --- a/mkspecs/features/qt_example_installs.prf
 +++ b/mkspecs/features/qt_example_installs.prf
 @@ -88,7 +88,7 @@ sourcefiles += \
@@ -735,7 +735,7 @@ index 1903e509c8..ae7b585989 100644
              $${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 90d84cc535..387481bfc6 100644
+index 8f98987b99..21b3bb8b32 100644
 --- a/mkspecs/features/qt_installs.prf
 +++ b/mkspecs/features/qt_installs.prf
 @@ -12,16 +12,10 @@
@@ -760,10 +760,10 @@ index 90d84cc535..387481bfc6 100644
 @@ -29,33 +23,33 @@
  #headers
  qt_install_headers {
-     class_headers.files = $$SYNCQT.HEADER_CLASSES
--    class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
-+    class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
-     INSTALLS += class_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
@@ -798,7 +798,7 @@ index 90d84cc535..387481bfc6 100644
          INSTALLS += privpritarget
      }
 diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
-index 14fc5f9a94..2a0f2cd27f 100644
+index bf90adcf1e..b3de698ff7 100644
 --- a/mkspecs/features/qt_plugin.prf
 +++ b/mkspecs/features/qt_plugin.prf
 @@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
@@ -811,7 +811,7 @@ index 14fc5f9a94..2a0f2cd27f 100644
  
  TARGET = $$qt5LibraryTarget($$TARGET)
 diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
-index 545b9a3d1e..6ac0cdefe4 100644
+index e0652fdcf9..450b2a2d28 100644
 --- a/src/corelib/Qt5CoreConfigExtras.cmake.in
 +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
 @@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
@@ -841,7 +841,7 @@ index 545b9a3d1e..6ac0cdefe4 100644
  !!ELSE
      set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
  !!ENDIF
-@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain)
+@@ -116,7 +116,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)
@@ -850,7 +850,7 @@ index 545b9a3d1e..6ac0cdefe4 100644
  !!ELSE
      set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
  !!ENDIF
-@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
+@@ -130,7 +130,7 @@ if (NOT TARGET Qt5::WinMain)
      set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
  
  !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
@@ -884,10 +884,10 @@ index 706304cf34..546420f6ad 100644
  set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
  !!ENDIF
 diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
-index 3814894630..3c6468277c 100644
+index 4e32f90964..503aeffd0c 100644
 --- a/src/corelib/kernel/qcoreapplication.cpp
 +++ b/src/corelib/kernel/qcoreapplication.cpp
-@@ -2601,6 +2601,15 @@ QStringList QCoreApplication::libraryPaths()
+@@ -2613,6 +2613,15 @@ QStringList QCoreApplication::libraryPaths()
          QStringList *app_libpaths = new QStringList;
          coreappdata()->app_libpaths.reset(app_libpaths);
  
@@ -1001,32 +1001,6 @@ index 07869efd7d..fb4183bada 100644
  !!ELSE
      set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
  !!ENDIF
-diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
-index ce1ec6442a..4f75655abe 100644
---- a/src/network/kernel/qdnslookup_unix.cpp
-+++ b/src/network/kernel/qdnslookup_unix.cpp
-@@ -95,7 +95,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
-index 8d2cffc304..9730fb33f2 100644
---- a/src/network/kernel/qhostinfo_unix.cpp
-+++ b/src/network/kernel/qhostinfo_unix.cpp
-@@ -98,7 +98,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
 diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
 index b5a0a5bbeb..6c20305f4d 100644
 --- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
@@ -1046,15 +1020,17 @@ index b5a0a5bbeb..6c20305f4d 100644
  
  QString TableGenerator::findComposeFile()
 diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-index a59dc15b0e..a13ee89b5a 100644
+index cc982b3379..0c5005d3d7 100644
 --- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
 +++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -584,7 +584,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName)
+@@ -648,9 +648,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName)
  #if QT_CONFIG(library)
                  extern const QString qt_gl_library_name();
  //                QLibrary lib(qt_gl_library_name());
 +                // Check system library paths first
                  QLibrary lib(QLatin1String("GL"));
+-                if (!lib.load())
+-                    lib.setFileNameAndVersion(QLatin1String("GL"), 1);
 +#ifdef NIXPKGS_MESA_GL
 +                if (!lib.load()) {
 +                    // Fallback to Mesa driver
@@ -1065,10 +1041,10 @@ index a59dc15b0e..a13ee89b5a 100644
  #endif
              }
 diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
-index da63360333..95e34e2e50 100644
+index b401100dd4..b45a290065 100644
 --- a/src/plugins/platforms/xcb/qxcbcursor.cpp
 +++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+@@ -316,10 +316,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) {
@@ -1082,7 +1058,7 @@ index da63360333..95e34e2e50 100644
          }
          if (xcursorFound) {
 diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
-index c4cd66c33b..b6f2691587 100644
+index fb1c425d8e..bb8bab9795 100644
 --- a/src/plugins/platformthemes/gtk3/main.cpp
 +++ b/src/plugins/platformthemes/gtk3/main.cpp
 @@ -39,6 +39,7 @@
diff --git a/pkgs/development/libraries/qt-5/5.10/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
index 01a975c14ec7d..8f5b5d4790fb1 100644
--- a/pkgs/development/libraries/qt-5/5.10/qtdeclarative.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qtdeclarative.patch
@@ -1,8 +1,8 @@
 diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
-index a7cafa1a9..e17ffd35b 100644
+index 005db4248..685c5b1b2 100644
 --- a/src/qml/qml/qqmlimport.cpp
 +++ b/src/qml/qml/qqmlimport.cpp
-@@ -1737,6 +1737,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
+@@ -1760,6 +1760,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
      QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
      addImportPath(installImportsPath);
  
@@ -19,10 +19,10 @@ index a7cafa1a9..e17ffd35b 100644
      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 330da358b..cdf570205 100644
+index 537eaf62e..e21de58f6 100644
 --- a/tools/qmlcachegen/qmlcache.prf
 +++ b/tools/qmlcachegen/qmlcache.prf
-@@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) {
+@@ -26,7 +26,7 @@ defineReplace(qmlCacheOutputFileName) {
  }
  
  qmlcacheinst.base = $$QMLCACHE_DESTDIR
diff --git a/pkgs/development/libraries/qt-5/5.10/qtscript.patch b/pkgs/development/libraries/qt-5/5.11/qtscript.patch
index 5508dec1280e3..5508dec1280e3 100644
--- a/pkgs/development/libraries/qt-5/5.10/qtscript.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qtscript.patch
diff --git a/pkgs/development/libraries/qt-5/5.10/qtserialport.patch b/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
index f25524e80bcfe..f25524e80bcfe 100644
--- a/pkgs/development/libraries/qt-5/5.10/qtserialport.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qtserialport.patch
diff --git a/pkgs/development/libraries/qt-5/5.10/qttools.patch b/pkgs/development/libraries/qt-5/5.11/qttools.patch
index fbba439ef7a5d..fbba439ef7a5d 100644
--- a/pkgs/development/libraries/qt-5/5.10/qttools.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qttools.patch
diff --git a/pkgs/development/libraries/qt-5/5.10/qtwebengine-paxmark-mksnapshot.patch b/pkgs/development/libraries/qt-5/5.11/qtwebengine-paxmark-mksnapshot.patch
index e1621b005c618..e1621b005c618 100644
--- a/pkgs/development/libraries/qt-5/5.10/qtwebengine-paxmark-mksnapshot.patch
+++ b/pkgs/development/libraries/qt-5/5.11/qtwebengine-paxmark-mksnapshot.patch
diff --git a/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.11/qtwebkit.patch
new file mode 100644
index 0000000000000..b94a4b76cbaba
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.11/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/pkgs/development/libraries/qt-5/5.11/srcs.nix b/pkgs/development/libraries/qt-5/5.11/srcs.nix
new file mode 100644
index 0000000000000..b6668a91606c4
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.11/srcs.nix
@@ -0,0 +1,325 @@
+# DO NOT EDIT! This file is generated automatically by fetch-kde-qt.sh
+{ fetchurl, mirror }:
+
+{
+  qt3d = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qt3d-everywhere-src-5.11.1.tar.xz";
+      sha256 = "03fkbrghj40rp8pf5r5979pcvq7qjsj7db446r6fl6slwphmk1nb";
+      name = "qt3d-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtactiveqt = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtactiveqt-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1f9w3dc2wvhz7pqhrsb2p908kc2c6xrqsp82ny8akil4xx6nrvn6";
+      name = "qtactiveqt-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtandroidextras = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtandroidextras-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1qiggrz2hdb7vrkvsh71hqdipj3klak0jpn2nq8qpilqxgb9dx76";
+      name = "qtandroidextras-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtbase = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtbase-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0ipv18ypbgpxhh49rfplqmflskmnhhwj1bjr5hrwi0jpvar4gl50";
+      name = "qtbase-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtcanvas3d = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtcanvas3d-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1pif3m1f44jrly2nh0hzid6dmdxqiy5qgx645hz6g5fmpl113d8g";
+      name = "qtcanvas3d-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtcharts = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtcharts-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0avscsni84zrzydilkkp456sbaypyzhkn42qygjdq7wcn045zxk2";
+      name = "qtcharts-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtconnectivity = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtconnectivity-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0mz6mbf069yqdvi6mcvp6izskcn9wzig4s3dzmygwd430pmx93kk";
+      name = "qtconnectivity-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtdatavis3d = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtdatavis3d-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0gay0dsz05xfrlx190y95hp9wipzb988h02fqbqvyn00ds3s178w";
+      name = "qtdatavis3d-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtdeclarative = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtdeclarative-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0fjg9ii64mhx2ww70rj44cy65rwwkwyjxcm435kwp3v1pzv5xkwy";
+      name = "qtdeclarative-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtdoc = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtdoc-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1z0sqmn0pw5g4ycdi8igsi89151cw6p3kv9g97pxl2qx3my1ppmc";
+      name = "qtdoc-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtgamepad = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtgamepad-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1n97w9rcbg8mzkvjgn3i8jbfmplp7w0p80ykdchpml47gxk1kwma";
+      name = "qtgamepad-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtgraphicaleffects = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtgraphicaleffects-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1ws8aj7bq3rxpzjs370dcyqk8a5v1y6fwvrdhf70j8b2d4v75lnr";
+      name = "qtgraphicaleffects-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtimageformats = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtimageformats-everywhere-src-5.11.1.tar.xz";
+      sha256 = "05jnyrq7klr3mdiz0r9c151vl829yc8y9cxfbw5dwbp1rkndwl7b";
+      name = "qtimageformats-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtlocation = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtlocation-everywhere-src-5.11.1.tar.xz";
+      sha256 = "03vrbymwbn4nqsypcmr4ccqv20nvwdfs9gb01pi3jxr6x0wrlb0p";
+      name = "qtlocation-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtmacextras = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtmacextras-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1wf3n5n4gg8gmjnjq88lmymkssg8q5s3qkrpsxd1hb6pd3n32gpn";
+      name = "qtmacextras-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtmultimedia = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtmultimedia-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0369b0mh7sr718l119b07grb1v8xqlq6l4damyd6lrmlj1wbb2zj";
+      name = "qtmultimedia-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtnetworkauth = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtnetworkauth-everywhere-src-5.11.1.tar.xz";
+      sha256 = "05p4pvfp3k5612d54anvpj39bgc7v572x6kgk3fy69xgn7lhbd02";
+      name = "qtnetworkauth-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtpurchasing = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtpurchasing-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0crm39fy9aqns10mjlbxvkkna9xklic49zfp3f7v7cwl66wap6dc";
+      name = "qtpurchasing-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtquickcontrols = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtquickcontrols-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0mn662j0gkpama7zlrsn4h27sjrk49kpbha1h0zxxyiza5cpzsms";
+      name = "qtquickcontrols-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtquickcontrols2 = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtquickcontrols2-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0hn4kvrkz5ivwrp9p6yzwlw7cn4j72kcpm2nqyi3dbai1px6dc5x";
+      name = "qtquickcontrols2-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtremoteobjects = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtremoteobjects-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1yv9f2329nv4viiyqmq7ciz51574wd11grj8s88qm0ndcb36jbgb";
+      name = "qtremoteobjects-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtscript = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtscript-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0z6sb4b9ds5lwkr0sxrnx6nim3aq2qx4a8illjy5vclfdv80yhqw";
+      name = "qtscript-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtscxml = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtscxml-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0f1k4fnk2aydagxqvkb636pcsi17sbq2zj2fn0ad50dvq013yiph";
+      name = "qtscxml-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtsensors = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtsensors-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1yn065l6kzs3fn74950pkxxglqi55lzk7alf15klsd1wnxc0zsfb";
+      name = "qtsensors-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtserialbus = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtserialbus-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0jjmdd6vkvs5izqazp1rsrad0b1fzk6knrbdjl37lvcsawyfxfyk";
+      name = "qtserialbus-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtserialport = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtserialport-everywhere-src-5.11.1.tar.xz";
+      sha256 = "18v4pbq7bnmrl81m8s11ksbjlvzbb4kw5py6ji2dhmnm44w9k9sn";
+      name = "qtserialport-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtspeech = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtspeech-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1nwvbaijg35i98yaiqgnyn5vv0cn4v3wrxhwi1s0hfv9sv3q5iyw";
+      name = "qtspeech-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtsvg = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtsvg-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0drhig0jcss3cf01aqfmafajf8gzf6bh468g1ikyrkh46czgyshx";
+      name = "qtsvg-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qttools = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qttools-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1zhl8p29mbabf07rhaks13qcm45zdckzymvz9qn95nxfj9piiyxp";
+      name = "qttools-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qttranslations = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qttranslations-everywhere-src-5.11.1.tar.xz";
+      sha256 = "01kid5dc20jnzjmd4ycjmacrsmrw4hsh2s4y5k9y9p34z8m9pn0j";
+      name = "qttranslations-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtvirtualkeyboard = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtvirtualkeyboard-everywhere-src-5.11.1.tar.xz";
+      sha256 = "16xzpdqn07z8j6f8iywy3967djap5bbi2myqp37s4xh9fz60scsv";
+      name = "qtvirtualkeyboard-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwayland = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwayland-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1sj4lsza48xji1qhmi1wqpx07jgm1mpa95gmd2w1kxw240hbr6p0";
+      name = "qtwayland-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwebchannel = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwebchannel-everywhere-src-5.11.1.tar.xz";
+      sha256 = "11rfjkb4h8dzxfmk889x7kkc73cbk26smc7h62lnh35f2nppd95r";
+      name = "qtwebchannel-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwebengine = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwebengine-everywhere-src-5.11.1.tar.xz";
+      sha256 = "136lc2kw4af4bilgn7vn9hdckpk62xvyjb4kr0gc2firr919z79q";
+      name = "qtwebengine-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwebglplugin = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwebglplugin-everywhere-src-5.11.1.tar.xz";
+      sha256 = "108yhi3sj6d1ysmlpka69ivb20mx9h6jpra6yq099i3jw4gc753x";
+      name = "qtwebglplugin-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwebsockets = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwebsockets-everywhere-src-5.11.1.tar.xz";
+      sha256 = "1bj82y3f1nd2adnj3ljfr4vlx4bkgdlm3zvhlsas2lz837vi5aks";
+      name = "qtwebsockets-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwebview = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwebview-everywhere-src-5.11.1.tar.xz";
+      sha256 = "18da6a13wpb23vb6mbg9v75gphdf5mjmch7q3v1qjrv2sdwbpjbp";
+      name = "qtwebview-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtwinextras = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtwinextras-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0qxwfhg962a456lb9b6y7xhi6fvvvb42z0li6v7695vfbckifbzz";
+      name = "qtwinextras-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtx11extras = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtx11extras-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0rccpmhz48kq4xs441lj9mnwpbi6kxwl8y7dj7w7g5zvpv41kwmw";
+      name = "qtx11extras-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+  qtxmlpatterns = {
+    version = "5.11.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.11/5.11.1/submodules/qtxmlpatterns-everywhere-src-5.11.1.tar.xz";
+      sha256 = "0n5gacpni019i2872m4b1p5qaqibhszsdl3xhw3xsckvr0hf25v1";
+      name = "qtxmlpatterns-everywhere-src-5.11.1.tar.xz";
+    };
+  };
+}
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index b9ed5eddd5cf6..8732b1061342f 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -26,7 +26,7 @@ existing packages here and modify it as necessary.
 
 {
   newScope,
-  stdenv, fetchurl, makeSetupHook, makeWrapper,
+  stdenv, fetchurl, makeSetupHook,
   bison, cups ? null, harfbuzz, libGL, perl,
   gstreamer, gst-plugins-base,
 
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
index e109fe447aa23..755e6a9487e76 100644
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ b/pkgs/development/libraries/qt-5/5.9/default.nix
@@ -17,7 +17,7 @@ top-level attribute to `top-level/all-packages.nix`.
 
 {
   newScope,
-  stdenv, fetchurl, makeSetupHook, makeWrapper,
+  stdenv, fetchurl, makeSetupHook,
   bison, cups ? null, harfbuzz, libGL, perl,
   gstreamer, gst-plugins-base, gtk3, dconf,
 
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
index 739c9b4a1608e..96014cfbc7792 100644
--- a/pkgs/development/libraries/qt-5/mkDerivation.nix
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -9,9 +9,8 @@ args:
 let
   args_ = {
 
-    qmakeFlags =
-      (args.qmakeFlags or [])
-      ++ [ ("CONFIG+=" + (if debug then "debug" else "release")) ];
+    qmakeFlags = [ ("CONFIG+=" + (if debug then "debug" else "release")) ]
+              ++ (args.qmakeFlags or []);
 
     NIX_CFLAGS_COMPILE =
       optional (!debug) "-DQT_NO_DEBUG"
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
index 8887e05704d29..0d9cb81afda93 100644
--- a/pkgs/development/libraries/qt-5/modules/qtbase.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -3,14 +3,14 @@
   src, patches, version, qtCompatVersion,
 
   coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
-  ruby, which,
+  which,
   # darwin support
-  darwin, libiconv, libcxx,
+  darwin, libiconv,
 
   dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite,
   libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
   libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev,
-  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xorg,
+  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm,
   zlib,
 
   # optional dependencies
@@ -191,7 +191,7 @@ stdenv.mkDerivation {
     [
       "-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
       ''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
-      ''-DNIXPKGS_LIBRESOLV="${stdenv.cc.libc.out}/lib/libresolv"''
+      ''-D${if compareVersion "5.11.0" >= 0 then "LIBRESOLV_SO" else "NIXPKGS_LIBRESOLV"}="${stdenv.cc.libc.out}/lib/libresolv"''
       ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
     ]
 
@@ -243,10 +243,13 @@ stdenv.mkDerivation {
       "-gui"
       "-widgets"
       "-opengl desktop"
-      "-qml-debug"
       "-icu"
       "-pch"
     ]
+    ++ lib.optionals (compareVersion "5.11.0" < 0)
+    [
+      "-qml-debug"
+    ]
     ++ lib.optionals (compareVersion "5.9.0" < 0)
     [
       "-c++11"
@@ -298,6 +301,7 @@ stdenv.mkDerivation {
           "-no-fontconfig"
           "-qt-freetype"
           "-qt-libpng"
+          "-no-framework"
         ]
       else
         [
@@ -327,6 +331,12 @@ stdenv.mkDerivation {
         ]
         ++ lib.optional withGtk3 "-gtk"
         ++ lib.optional (compareVersion "5.9.0" >= 0) "-inotify"
+        ++ lib.optionals (compareVersion "5.10.0" >= 0) [
+          # Without these, Qt stops working on kernels < 3.17. See:
+          # https://github.com/NixOS/nixpkgs/issues/38832
+          "-no-feature-renameat2"
+          "-no-feature-getentropy"
+        ]
     );
 
   enableParallelBuilding = true;
@@ -367,24 +377,6 @@ stdenv.mkDerivation {
     ''
 
     + (
-      if stdenv.isDarwin
-      then
-        ''
-          fixDarwinDylibNames_rpath() {
-            local flags=()
-
-            for fn in "$@"; do
-              flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
-            done
-
-            for fn in "$@"; do
-              echo "$fn: fixing dylib"
-              install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
-            done
-          }
-          fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
-        ''
-      else
         # fixup .pc file (where to find 'moc' etc.)
         ''
           sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
@@ -398,7 +390,7 @@ stdenv.mkDerivation {
     homepage = http://www.qt.io;
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel periklis ];
+    maintainers = with maintainers; [ qknight ttuegel periklis bkchr ];
     platforms = platforms.unix;
   };
 
diff --git a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
index fc0a751f48a0e..f9b8cdc8cf022 100644
--- a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
@@ -10,6 +10,7 @@ qtModule {
   preConfigure = ''
     NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\""
   '';
+  configureFlags = lib.optionals (lib.versionAtLeast qtbase.version "5.11.0") [ "-qml-debug" ];
   devTools = [
     "bin/qml"
     "bin/qmlcachegen"
diff --git a/pkgs/development/libraries/qt-5/modules/qtlocation.nix b/pkgs/development/libraries/qt-5/modules/qtlocation.nix
index e8952e29cbaf0..0eee684a53fd8 100644
--- a/pkgs/development/libraries/qt-5/modules/qtlocation.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtlocation.nix
@@ -4,8 +4,6 @@ qtModule {
   name = "qtlocation";
   qtInputs = [ qtbase qtmultimedia ];
   outputs = [ "bin" "out" "dev" ];
-  # Linking with -lclipper fails with parallel build enabled
-  enableParallelBuilding = false;
   qmakeFlags = stdenv.lib.optional stdenv.isDarwin [
      # boost uses std::auto_ptr which has been disabled in clang with libcxx
      # This flag re-enables this feature
diff --git a/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
index 1b7a7c1fceaae..d0bab88b2f214 100644
--- a/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
@@ -1,6 +1,5 @@
 { qtModule, stdenv, qtbase, qtdeclarative, pkgconfig
 , alsaLib, gstreamer, gst-plugins-base, libpulseaudio
-, darwin
 }:
 
 with stdenv.lib;
diff --git a/pkgs/development/libraries/qt-5/modules/qtserialport.nix b/pkgs/development/libraries/qt-5/modules/qtserialport.nix
index 2f8c142323d22..516d38340dc53 100644
--- a/pkgs/development/libraries/qt-5/modules/qtserialport.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtserialport.nix
@@ -1,4 +1,4 @@
-{ qtModule, stdenv, lib, qtbase, substituteAll, systemd }:
+{ qtModule, stdenv, lib, qtbase, systemd }:
 
 let inherit (lib) getLib optional; in
 
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 7e91cff065dda..aae15c62d73c7 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -4,16 +4,16 @@
 , bison, coreutils, flex, git, gperf, ninja, pkgconfig, python2, which
 
 , xorg, libXcursor, libXScrnSaver, libXrandr, libXtst
-, fontconfig, freetype, harfbuzz, icu, dbus
+, fontconfig, freetype, harfbuzz, icu, dbus, libdrm
 , zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
 , jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
 , alsaLib
 , libcap
 , pciutils
 , systemd
-
 , enableProprietaryCodecs ? true
-
+, gn, darwin, openbsm
+, ffmpeg ? null
 , lib, stdenv # lib.optional, needsPax
 }:
 
@@ -25,13 +25,17 @@ qtModule {
   name = "qtwebengine";
   qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
   nativeBuildInputs = [
-    bison coreutils flex git gperf ninja pkgconfig python2 which
+    bison coreutils flex git gperf ninja pkgconfig python2 which gn
   ];
   doCheck = true;
   outputs = [ "bin" "dev" "out" ];
 
   enableParallelBuilding = true;
 
+  # ninja builds some components with -Wno-format,
+  # which cannot be set at the same time as -Wformat-security
+  hardeningDisable = [ "format" ];
+
   postPatch =
     # Patch Chromium build tools
     ''
@@ -61,8 +65,48 @@ qtModule {
 
       sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \
         src/3rdparty/chromium/gpu/config/gpu_info_collector_linux.cc
+    ''
+    + optionalString stdenv.isDarwin ''
+      # Remove annoying xcode check
+      substituteInPlace mkspecs/features/platform.prf \
+        --replace "lessThan(QMAKE_XCODE_VERSION, 7.3)" false
+      substituteInPlace src/core/config/mac_osx.pri \
+        --replace /usr ${stdenv.cc} \
+        --replace "isEmpty(QMAKE_MAC_SDK_VERSION)" false
+
+    # FIXME Needed with old Apple SDKs
+    # Abandon all hope ye who try to make sense of this.
+    substituteInPlace src/3rdparty/chromium/base/mac/foundation_util.mm \
+      --replace "NSArray<NSString*>*" "NSArray*"
+    substituteInPlace src/3rdparty/chromium/base/mac/sdk_forward_declarations.h \
+      --replace "NSDictionary<VNImageOption, id>*" "NSDictionary*" \
+      --replace "NSArray<VNRequest*>*" "NSArray*" \
+      --replace "typedef NSString* VNImageOption NS_STRING_ENUM" "typedef NSString* VNImageOption"
+
+    cat <<EOF > src/3rdparty/chromium/build/mac/find_sdk.py
+#!/usr/bin/env python
+print("10.10.0")
+print("")
+EOF
+
+    cat <<EOF > src/3rdparty/chromium/build/config/mac/sdk_info.py
+#!/usr/bin/env python
+print('xcode_version="9.1"')
+print('xcode_version_int=9')
+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]"
     '';
 
+  NIX_CFLAGS_COMPILE = lib.optionalString 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";
 
   preConfigure = ''
     export NINJAFLAGS=-j$NIX_BUILD_CORES
@@ -70,13 +114,11 @@ qtModule {
     if [ -d "$PWD/tools/qmake" ]; then
         QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
     fi
- '';
+   '';
 
-  qmakeFlags =
-    [
-      # Use system Ninja because bootstrapping it is fragile
-      "WEBENGINE_CONFIG+=use_system_ninja"
-    ] ++ optional enableProprietaryCodecs "WEBENGINE_CONFIG+=use_proprietary_codecs";
+  qmakeFlags = if stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64
+    then [ "--" "-system-ffmpeg" ] ++ optional enableProprietaryCodecs "-proprietary-codecs"
+    else optional enableProprietaryCodecs "-- -proprietary-codecs";
 
   propagatedBuildInputs = [
     # Image formats
@@ -90,9 +132,12 @@ qtModule {
 
     # Text rendering
     harfbuzz icu
-  ]
-  ++ optionals (!stdenv.isDarwin) [
-    dbus zlib minizip snappy nss protobuf jsoncpp libevent
+
+    libevent
+  ] ++ optionals (stdenv.hostPlatform.isAarch32 || stdenv.hostPlatform.isAarch64) [
+    ffmpeg
+  ] ++ optionals (!stdenv.isDarwin) [
+    dbus zlib minizip snappy nss protobuf jsoncpp
 
     # Audio formats
     alsaLib
@@ -105,18 +150,45 @@ qtModule {
 
     # X11 libs
     xorg.xrandr libXScrnSaver libXcursor libXrandr xorg.libpciaccess libXtst
-    xorg.libXcomposite
-  ];
+    xorg.libXcomposite xorg.libXdamage libdrm
+  ]
+
+  # FIXME These dependencies shouldn't be needed but can't find a way
+  # around it. Chromium pulls this in while bootstrapping GN.
+  ++ lib.optionals stdenv.isDarwin (with darwin; with apple_sdk.frameworks; [
+    libobjc
+    cctools
+
+    # frameworks
+    ApplicationServices
+    Foundation
+    AppKit
+    ImageCaptureCore
+    CoreBluetooth
+    IOBluetooth
+    CoreWLAN
+    Quartz
+    Cocoa
+
+    openbsm
+    libunwind
+  ]);
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
 
-  postInstall = ''
+  postInstall = lib.optionalString stdenv.isLinux ''
     cat > $out/libexec/qt.conf <<EOF
     [Paths]
     Prefix = ..
     EOF
-
     paxmark m $out/libexec/QtWebEngineProcess
   '';
+
+  meta = with lib; {
+    description = "A web engine based on the Chromium web browser";
+    maintainers = with maintainers; [ matthewbauer ];
+    platforms = platforms.unix;
+  };
+
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 6834b7ce87b63..833433fabecae 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -1,23 +1,42 @@
-{ qtModule, stdenv, lib
-, qtbase, qtdeclarative, qtlocation, qtsensors
+{ qtModule, stdenv, lib, fetchurl
+, qtbase, qtdeclarative, qtlocation, qtsensors, qtwebchannel
 , fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
-, sqlite, systemd, glib, gst_all_1
+, sqlite, systemd, glib, gst_all_1, cmake
 , bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
 , darwin
-, substituteAll
 , flashplayerFix ? false
+, src ? null
+, version ? null
 }:
 
-let inherit (lib) optional optionals getLib; in
-
+let
+  inherit (lib) optional optionals getLib;
+  hyphen = stdenv.mkDerivation rec {
+    name = "hyphen-2.8.8";
+    src = fetchurl {
+      url = "http://dev-www.libreoffice.org/src/5ade6ae2a99bc1e9e57031ca88d36dad-${name}.tar.gz";
+      sha256 = "304636d4eccd81a14b6914d07b84c79ebb815288c76fe027b9ebff6ff24d5705";
+    };
+    postPatch = ''
+      patchShebangs tests
+    '';
+    buildInputs = [ perl ];
+  };
+in
 qtModule {
   name = "qtwebkit";
-  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ];
+  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ qtwebchannel ];
   buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
-    ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ]);
+    ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ])
+    ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ hyphen ];
   nativeBuildInputs = [
     bison2 flex gdb gperf perl pkgconfig python2 ruby
-  ];
+  ] ++ optionals (lib.versionAtLeast qtbase.version "5.11.0") [ cmake ];
+
+  cmakeFlags = optionals (lib.versionAtLeast qtbase.version "5.11.0") [ "-DPORT=Qt" ];
+
+  inherit src;
+  inherit version;
 
   __impureHostDeps = optionals (stdenv.isDarwin) [
     "/usr/lib/libicucore.dylib"
@@ -28,10 +47,15 @@ qtModule {
   preConfigure = ''
     QMAKEPATH="$PWD/Tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
     fixQtBuiltinPaths . '*.pr?'
+    # Fix hydra's "Log limit exceeded"
+    export qmakeFlags="$qmakeFlags CONFIG+=silent"
   '';
 
   NIX_CFLAGS_COMPILE =
-    [ "-Wno-expansion-to-defined" ] # with gcc7 this warning blows the log over Hydra's limit
+    # with gcc7 this warning blows the log over Hydra's limit
+    [ "-Wno-expansion-to-defined" ]
+    # with clang this warning blows the log over Hydra's limit
+    ++ optional stdenv.isDarwin "-Wno-inconsistent-missing-override"
     ++ optionals flashplayerFix
       [
         ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"''
@@ -39,6 +63,8 @@ qtModule {
       ]
     ++ optional (!stdenv.isDarwin) ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
 
+  doCheck = false; # fails 13 out of 13 tests (ctest)
+
   # Hack to avoid TMPDIR in RPATHs.
   preFixup = ''rm -rf "$(pwd)" && mkdir "$(pwd)" '';
 
diff --git a/pkgs/development/libraries/qt-5/qt-env.nix b/pkgs/development/libraries/qt-5/qt-env.nix
index 49585f601d146..da56c07779b9c 100644
--- a/pkgs/development/libraries/qt-5/qt-env.nix
+++ b/pkgs/development/libraries/qt-5/qt-env.nix
@@ -1,4 +1,4 @@
-{ lib, buildEnv, qtbase }: name: paths:
+{ buildEnv, qtbase }: name: paths:
 
 buildEnv {
   inherit name;
diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix
index 11e4ae1c26c5e..e18564aaabe2f 100644
--- a/pkgs/development/libraries/qt-5/qtModule.nix
+++ b/pkgs/development/libraries/qt-5/qtModule.nix
@@ -8,7 +8,7 @@ args:
 
 let
   inherit (args) name;
-  version = args.version or srcs."${name}".version;
+  version = if (args.version or null) == null then srcs."${name}".version else args.version;
   src = args.src or srcs."${name}".src;
 in
 
@@ -53,7 +53,7 @@ mkDerivation (args // {
     homepage = http://www.qt.io;
     description = "A cross-platform application framework for C++";
     license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel periklis ];
+    maintainers = with maintainers; [ qknight ttuegel periklis bkchr ];
     platforms = platforms.unix;
   } // (args.meta or {});
 })
diff --git a/pkgs/development/libraries/qtinstaller/default.nix b/pkgs/development/libraries/qtinstaller/default.nix
index a03ddb9b78a19..1578593b8aea9 100644
--- a/pkgs/development/libraries/qtinstaller/default.nix
+++ b/pkgs/development/libraries/qtinstaller/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, qtdeclarative , qttools, qtbase, qmake }:
 
 stdenv.mkDerivation rec {
-  name = "qtinstaller";
+  name = "qtinstaller-${version}";
 
   propagatedBuildInputs = [ qtdeclarative qttools ];
   nativeBuildInputs = [ qmake ];
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index 5baeb76820acd..220c6241096da 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -9,13 +9,13 @@ assert stdenv.isDarwin -> darwin != null;
 
 stdenv.mkDerivation rec {
   name = "qtkeychain-${if withQt5 then "qt5" else "qt4"}-${version}";
-  version = "0.8.0";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
+  version = "0.9.1";            # verify after nix-build with `grep -R "set(PACKAGE_VERSION " result/`
 
   src = fetchFromGitHub {
     owner = "frankosterfeld";
     repo = "qtkeychain";
     rev = "v${version}";
-    sha256 = "1r6qp9l2lp5jpc6ciklbg1swvvzcpc37rg9py46hk0wxy6klnm0b"; # v0.8.0
+    sha256 = "0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"; # v0.9.1
   };
 
   cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ]
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 5085d9bf5ef95..8667f272cf7d6 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "qtstyleplugin-kvantum-${version}";
-  version = "0.10.4";
+  version = "0.10.6";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
-    rev = "0527bb03f2252269fd382e11181a34ca72c96b4b";
-    sha256 = "0ky44s1fgqxraywagx1mv07yz76ppgiz3prq447db78wkwqg2d8p";
+    rev = "a6daa1a6df3c5d4abc7ea39ef7028ddea2addbf6";
+    sha256 = "1zns4x95h0ydiwx8yw0bmyg4lc2sy7annmdrg66sx753x3177zxp";
   };
 
   nativeBuildInputs = [ qmake qttools ];
@@ -16,15 +16,16 @@ stdenv.mkDerivation rec {
 
   postUnpack = "sourceRoot=\${sourceRoot}/Kvantum";
 
-  postInstall= ''
-    mkdir -p $out/$qtPluginPrefix/styles
-    mv $NIX_QT5_TMP/$qtPluginPrefix/styles/libkvantum.so $out/$qtPluginPrefix/styles/libkvantum.so
+  postPatch = ''
+    # Fix plugin dir
+    substituteInPlace style/style.pro \
+      --replace "\$\$[QT_INSTALL_PLUGINS]" "$out/$qtPluginPrefix"
   '';
 
   meta = with stdenv.lib; {
     description = "SVG-based Qt5 theme engine plus a config tool and extra themes";
     homepage = "https://github.com/tsujan/Kvantum";
-    license = licenses.gpl2;
+    license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bugworm ];
   };
diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix
index a8611b3124053..b94cdd22f7f05 100644
--- a/pkgs/development/libraries/qtstyleplugins/default.nix
+++ b/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, qmake, qtbase, pkgconfig, gtk2 }:
+{ stdenv, fetchFromGitHub, qmake, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
   name = "qtstyleplugins-2017-03-11";
diff --git a/pkgs/development/libraries/quazip/default.nix b/pkgs/development/libraries/quazip/default.nix
index 8d096e18f08fc..ae858738ec166 100644
--- a/pkgs/development/libraries/quazip/default.nix
+++ b/pkgs/development/libraries/quazip/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, zip, zlib, qtbase, qmake }:
+{ fetchurl, stdenv, zlib, qtbase, qmake }:
 
 stdenv.mkDerivation rec {
   name = "quazip-0.7.3";
diff --git a/pkgs/development/libraries/quickder/default.nix b/pkgs/development/libraries/quickder/default.nix
index 77e76ad638abf..35d16ee5e19b6 100644
--- a/pkgs/development/libraries/quickder/default.nix
+++ b/pkgs/development/libraries/quickder/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, fetchurl, python2Packages, hexio
+{ stdenv, fetchFromGitHub, python2Packages, hexio
 , which, cmake, bash, arpa2cm, git, asn2quickder, pkgconfig }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/qwt/6.nix b/pkgs/development/libraries/qwt/6.nix
index 314ab0f9e6116..6e0fa53aa828b 100644
--- a/pkgs/development/libraries/qwt/6.nix
+++ b/pkgs/development/libraries/qwt/6.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     homepage = http://qwt.sourceforge.net/;
     # LGPL 2.1 plus a few exceptions (more liberal)
     license = stdenv.lib.licenses.qwt;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
     branch = "6";
   };
diff --git a/pkgs/development/libraries/qwt/default.nix b/pkgs/development/libraries/qwt/default.nix
index da5769e92cd19..f900de5e578b4 100644
--- a/pkgs/development/libraries/qwt/default.nix
+++ b/pkgs/development/libraries/qwt/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     homepage = http://qwt.sourceforge.net/;
     # LGPL 2.1 plus a few exceptions (more liberal)
     license = stdenv.lib.licenses.qwt;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/development/libraries/rabbitmq-c/default.nix b/pkgs/development/libraries/rabbitmq-c/default.nix
index c841d82ccce08..2a0125de01f1a 100644
--- a/pkgs/development/libraries/rabbitmq-c/default.nix
+++ b/pkgs/development/libraries/rabbitmq-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "rabbitmq-c-${version}";
-  version = "0.8.0";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "alanxz";
     repo = "rabbitmq-c";
     rev = "v${version}";
-    sha256 = "0vjh1q3hyzrq1iiddy28vvwpwwn4px00mjc2hqp4zgfpis2xlqbj";
+    sha256 = "1mhzxyh9pmpxjjbyy8hd34gm39sxf73r1ldk8zjfsfbs26ggrppz";
   };
 
   buildInputs = [ cmake openssl popt xmlto ];
diff --git a/pkgs/development/libraries/rabbitmq-java-client/default.nix b/pkgs/development/libraries/rabbitmq-java-client/default.nix
index a1708ba59c35b..96a2347c50fa5 100644
--- a/pkgs/development/libraries/rabbitmq-java-client/default.nix
+++ b/pkgs/development/libraries/rabbitmq-java-client/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "rabbitmq-java-client-3.3.4";
 
   src = fetchurl {
-    url = "http://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-3.3.4.tar.gz";
+    url = "https://www.rabbitmq.com/releases/rabbitmq-java-client/v3.3.4/rabbitmq-java-client-3.3.4.tar.gz";
     sha256 = "03kspkgzzjsbq6f8yl2zj5m30qwgxv3l58hrbf6gcgxb5rpfk6sh";
   };
 
diff --git a/pkgs/development/libraries/range-v3/default.nix b/pkgs/development/libraries/range-v3/default.nix
index bddda1dff552a..cd981f8947aa9 100644
--- a/pkgs/development/libraries/range-v3/default.nix
+++ b/pkgs/development/libraries/range-v3/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "range-v3-${version}";
-  version = "0.3.5";
+  version = "0.3.6";
 
   src = fetchFromGitHub {
     owner = "ericniebler";
     repo = "range-v3";
     rev = version;
-    sha256 = "00bwm7n3wyf49xpr7zjhm08dzwx3lwibgafi6isvfls3dhk1m4kp";
+    sha256 = "050h9pa57kd57l73njxpjb331snybddl29x2vpy5ycygvqiw8kcp";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/rapidjson/default.nix b/pkgs/development/libraries/rapidjson/default.nix
index 8e6b3b44491e1..a1671aa3e0f92 100644
--- a/pkgs/development/libraries/rapidjson/default.nix
+++ b/pkgs/development/libraries/rapidjson/default.nix
@@ -13,14 +13,16 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig cmake ];
 
-  # detected by gcc7
-  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt --replace "-Werror" ""
+    substituteInPlace example/CMakeLists.txt --replace "-Werror" ""
+  '';
 
   meta = with lib; {
     description = "Fast JSON parser/generator for C++ with both SAX/DOM style API";
     homepage = "http://rapidjson.org/";
     license = licenses.mit;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ cstrahan ];
   };
 }
diff --git a/pkgs/development/libraries/rarian/default.nix b/pkgs/development/libraries/rarian/default.nix
new file mode 100644
index 0000000000000..4446226fedef7
--- /dev/null
+++ b/pkgs/development/libraries/rarian/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, gnome3}:
+let
+  pname = "rarian";
+  version = "0.8.1";
+in stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${gnome3.versionBranch version}/${name}.tar.gz";
+    sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ perl perlXMLParser libxml2 libxslt];
+  configureFlags = [ "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat" ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+      attrPath = "gnome3.${pname}";
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Documentation metadata library based on the proposed Freedesktop.org spec";
+    homepage = https://rarian.freedesktop.org/;
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/rdkafka/default.nix b/pkgs/development/libraries/rdkafka/default.nix
index b0e43e08653ff..11ae3a52adcea 100644
--- a/pkgs/development/libraries/rdkafka/default.nix
+++ b/pkgs/development/libraries/rdkafka/default.nix
@@ -1,23 +1,21 @@
-{ stdenv, fetchFromGitHub, zlib, perl, pkgconfig, python }:
+{ stdenv, fetchFromGitHub, zlib, perl, pkgconfig, python, openssl }:
 
 stdenv.mkDerivation rec {
   name = "rdkafka-${version}";
-  version = "0.11.4";
+  version = "0.11.5";
 
   src = fetchFromGitHub {
     owner = "edenhill";
     repo = "librdkafka";
     rev = "v${version}";
-    sha256 = "11ps8sy4v8yvj4sha7d1q3rmhfw7l1rd52rnl01xam9862yasahs";
+    sha256 = "1b0zp7k0775g5pzvkmpmsha63wx8wcwcas6w6wb09y0gymxz0xss";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ zlib perl python ];
+  buildInputs = [ zlib perl python openssl ];
 
   NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow";
 
-  configureFlags = stdenv.lib.optionals stdenv.isDarwin [ "--disable-ssl" ];
-
   postPatch = ''
     patchShebangs .
   '';
diff --git a/pkgs/development/libraries/re2/default.nix b/pkgs/development/libraries/re2/default.nix
index 08c95b4227765..aeab7b2a040c5 100644
--- a/pkgs/development/libraries/re2/default.nix
+++ b/pkgs/development/libraries/re2/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "re2";
+  name = "re2-${version}";
   version = "20140304";
 
   src = fetchurl {
-    url = "https://re2.googlecode.com/files/${name}-${version}.tgz";
+    url = "https://re2.googlecode.com/files/${name}.tgz";
     sha256 = "19wn0472c9dsxp35d0m98hlwhngx1f2xhxqgr8cb5x72gnjx3zqb";
   };
 
diff --git a/pkgs/development/libraries/readline/readline-7.0-patches.nix b/pkgs/development/libraries/readline/readline-7.0-patches.nix
index 45bec6b648120..c34ef2bf97bbe 100644
--- a/pkgs/development/libraries/readline/readline-7.0-patches.nix
+++ b/pkgs/development/libraries/readline/readline-7.0-patches.nix
@@ -4,4 +4,6 @@ patch: [
 (patch "001" "0xm3sxvwmss7ddyfb11n6pgcqd1aglnpy15g143vzcf75snb7hcs")
 (patch "002" "0n1dxmqsbjgrfxb1hgk5c6lsraw4ncbnzxlsx7m35nym6lncjiw7")
 (patch "003" "1027kmymniizcy0zbdlrczxfx3clxcdln5yq05q9yzlc6y9slhwy")
+(patch "004" "0r3bbaf12iz8m02z6p3fzww2m365fhn71xmzab2p62gj54s6h9gr")
+(patch "005" "0lxpa4f72y2nsgj6fgrhjk2nmmxvccys6aciwfxwchb5f21rq5fa")
 ]
diff --git a/pkgs/development/libraries/readosm/default.nix b/pkgs/development/libraries/readosm/default.nix
index 7faee7e69a2eb..1c777e849a469 100644
--- a/pkgs/development/libraries/readosm/default.nix
+++ b/pkgs/development/libraries/readosm/default.nix
@@ -4,13 +4,13 @@ stdenv.mkDerivation rec {
   name = "readosm-1.1.0";
 
   src = fetchurl {
-    url = "http://www.gaia-gis.it/gaia-sins/readosm-sources/${name}.tar.gz";
+    url = "https://www.gaia-gis.it/gaia-sins/readosm-sources/${name}.tar.gz";
     sha256 = "1v20pnda67imjd70fn0zw30aar525xicy3d3v49md5cvqklws265";
   };
 
   buildInputs = [ expat zlib geos libspatialite ];
 
-  configureFlags = "--disable-freexl";
+  configureFlags = [ "--disable-freexl" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/rep-gtk/default.nix b/pkgs/development/libraries/rep-gtk/default.nix
index 5629164f160a1..681fc3a012fe2 100644
--- a/pkgs/development/libraries/rep-gtk/default.nix
+++ b/pkgs/development/libraries/rep-gtk/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   sourceName = "rep-gtk_${version}";
 
   src = fetchurl {
-    url = "http://download.tuxfamily.org/librep/rep-gtk/${sourceName}.tar.xz";
+    url = "https://download.tuxfamily.org/librep/rep-gtk/${sourceName}.tar.xz";
     sha256 = "0hgkkywm8zczir3lqr727bn7ybgg71x9cwj1av8fykkr8pdpard9";
   };
 
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index 0951c113e3f1b..786fce0fb6381 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -5,7 +5,6 @@
 
 # Optional Arguments
 , snappy ? null, google-gflags ? null, zlib ? null, bzip2 ? null, lz4 ? null
-, numactl ? null
 
 # Malloc implementation
 , jemalloc ? null, gperftools ? null
@@ -15,18 +14,19 @@
 
 let
   malloc = if jemalloc != null then jemalloc else gperftools;
+  tools = [ "sst_dump" "ldb" "rocksdb_dump" "rocksdb_undump" "blob_dump" ];
 in
 stdenv.mkDerivation rec {
   name = "rocksdb-${version}";
-  version = "5.10.3";
+  version = "5.11.3";
 
-  outputs = [ "dev" "out" "static" ];
+  outputs = [ "dev" "out" "static" "bin" ];
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "rocksdb";
     rev = "v${version}";
-    sha256 = "19d8i8map8qz639mhflmxc0w9gp78fvkq1l46y5s6b5imwh0w7xq";
+    sha256 = "15x2r7aib1xinwcchl32wghs8g96k4q5xgv6z97mxgp35475x01p";
   };
 
   nativeBuildInputs = [ which perl ];
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
   buildFlags = buildAndInstallFlags ++ [
     "shared_lib"
     "static_lib"
-  ];
+  ] ++ tools ;
 
   installFlags = buildAndInstallFlags ++ [
     "INSTALL_PATH=\${out}"
@@ -69,12 +69,15 @@ stdenv.mkDerivation rec {
     cat make_config.mk
     mkdir -pv $static/lib/
     mv -vi $out/lib/${LIBNAME}.a $static/lib/
+
+    install -d ''${!outputBin}/bin
+    install -D ${stdenv.lib.concatStringsSep " " tools} ''${!outputBin}/bin
   '';
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = http://rocksdb.org;
+    homepage = https://rocksdb.org;
     description = "A library that provides an embeddable, persistent key-value store for fast storage";
     license = licenses.bsd3;
     platforms = platforms.x86_64;
diff --git a/pkgs/development/libraries/rubberband/default.nix b/pkgs/development/libraries/rubberband/default.nix
index 364a4d4794a84..c9ba339ae0eab 100644
--- a/pkgs/development/libraries/rubberband/default.nix
+++ b/pkgs/development/libraries/rubberband/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "High quality software library for audio time-stretching and pitch-shifting";
-    homepage = http://www.breakfastquay.com/rubberband/index.html;
+    homepage = https://www.breakfastquay.com/rubberband/index.html;
     # commercial license available as well, see homepage. You'll get some more optimized routines
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.goibhniu maintainers.marcweber ];
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index 2309719c2bdca..25126edbc0f4e 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, orc, pkgconfig }:
+{ stdenv, fetchurl, orc, pkgconfig, fetchpatch, autoreconfHook }:
 
 stdenv.mkDerivation {
   name = "schroedinger-1.0.11";
@@ -6,22 +6,30 @@ stdenv.mkDerivation {
   src = fetchurl {
     urls = [
       http://diracvideo.org/download/schroedinger/schroedinger-1.0.11.tar.gz
-      http://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
+      https://download.videolan.org/contrib/schroedinger-1.0.11.tar.gz
     ];
     sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
   buildInputs = [ orc ];
 
-  doCheck = true;
+  doCheck = (!stdenv.isDarwin);
+
+  patchFlags = "-p0";
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/master/multimedia/schroedinger/files/patch-testsuite-Makefile.am.diff";
+      sha256 = "0cc8ymvgjgwy7ghca2dd8m8pxpinf27s2i8krf2m3fzv2ckq09v3";
+    })
+  ];
 
   meta = with stdenv.lib; {
     homepage = http://diracvideo.org/;
     maintainers = [ maintainers.spwhitt ];
     license = [ licenses.mpl11 licenses.lgpl2 licenses.mit ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/science/biology/EBTKS/default.nix b/pkgs/development/libraries/science/biology/EBTKS/default.nix
new file mode 100644
index 0000000000000..67f868a91a7bd
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/EBTKS/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, libminc }:
+
+stdenv.mkDerivation rec {
+  pname = "EBTKS";
+  name  = "${pname}-2017-09-23";
+
+  src = fetchFromGitHub {
+    owner  = "BIC-MNI";
+    repo   = pname;
+    rev    = "67e4e197d8a32d6462c9bdc7af44d64ebde4fb5c";
+    sha256 = "1a1qw6i47fs1izx60l1ysabpmyx9j5sjnbdv8b47wi2xcc9i3hpq";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib/" ];
+
+  checkPhase = "ctest --output-on-failure";  # but cmake doesn't run the tests ...
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BIC-MNI/${pname}";
+    description = "Library for working with MINC files";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/bicgl/default.nix b/pkgs/development/libraries/science/biology/bicgl/default.nix
new file mode 100644
index 0000000000000..3c9b8f8257cef
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/bicgl/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, freeglut, mesa_glu }:
+
+stdenv.mkDerivation rec {
+  pname = "bicgl";
+  name  = "${pname}-2017-09-10";
+
+  owner = "BIC-MNI";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "b7f7e52d1039d6202a93d9055f516186033656cc";
+    sha256 = "0lzirdi1mf4yl8srq7vjn746sbydz7h0wjh7wy8gycy6hq04qrg4";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc bicpl freeglut mesa_glu ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBICPL_DIR=${bicpl}/lib" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Brain Imaging Centre graphics library";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/bicpl/default.nix b/pkgs/development/libraries/science/biology/bicpl/default.nix
new file mode 100644
index 0000000000000..d00a74f61e20d
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/bicpl/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, netpbm }:
+
+stdenv.mkDerivation rec {
+  pname = "bicpl";
+  name  = "${pname}-2017-09-10";
+
+  owner = "BIC-MNI";
+
+  # current master is significantly ahead of most recent release, so use Git version:
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "612a63e740fadb162fcf27ee00da6a18dec4d5a9";
+    sha256 = "1vv9gi184bkvp3f99v9xmmw1ly63ip5b09y7zdjn39g7kmwzrga7";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc netpbm ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib" "-DBUILD_TESTING=FALSE" ];
+
+  checkPhase = "ctest --output-on-failure";
+  doCheck = false;
+  # internal_volume_io.h: No such file or directory
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Brain Imaging Centre programming library";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/elastix/default.nix b/pkgs/development/libraries/science/biology/elastix/default.nix
index 06550372ba8a7..7b9e6b24d4186 100644
--- a/pkgs/development/libraries/science/biology/elastix/default.nix
+++ b/pkgs/development/libraries/science/biology/elastix/default.nix
@@ -1,22 +1,18 @@
-{ stdenv, fetchFromGitHub, cmake, itk, python }:
+{ stdenv, fetchurl, cmake, itk, python }:
 
 stdenv.mkDerivation rec {
-  _name    = "elastix";
-  _version = "4.8";
-  name  = "${_name}-${_version}";
+  pname    = "elastix";
+  pversion = "4.9.0";
+  name  = "${pname}-${pversion}";
 
-  src = fetchFromGitHub {
-    owner  = "SuperElastix";
-    repo   = "elastix";
-    rev    = "ef057ff89233822b26b04b31c3c043af57d5deff";
-    sha256 = "0gm3a8dgqww50h6zld9ighjk92wlpybpimjwfz4s5h82vdjsvxrm";
+  src = fetchurl {
+    url    = "https://github.com/SuperElastix/${pname}/archive/${pversion}.tar.gz";
+    sha256 = "02pbln36nq98xxfyqwlxg7b6gmigdq4fgfqr9mym1qn58aj04shg";
   };
 
   nativeBuildInputs = [ cmake python ];
   buildInputs = [ itk ];
 
-  cmakeFlags = [ "-DUSE_KNNGraphAlphaMutualInformationMetric=OFF" ];
-
   checkPhase = "ctest";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/science/biology/htslib/default.nix b/pkgs/development/libraries/science/biology/htslib/default.nix
index 2144a7f789356..48548bd726521 100644
--- a/pkgs/development/libraries/science/biology/htslib/default.nix
+++ b/pkgs/development/libraries/science/biology/htslib/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib bzip2 lzma curl ];
 
-  configureFlags = "--enable-libcurl"; # optional but strongly recommended
+  configureFlags = [ "--enable-libcurl" ]; # optional but strongly recommended
 
   installFlags = "prefix=$(out)";
 
diff --git a/pkgs/development/libraries/science/biology/mirtk/default.nix b/pkgs/development/libraries/science/biology/mirtk/default.nix
new file mode 100644
index 0000000000000..6ecc5159a3bca
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/mirtk/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, lib, gtest, fetchgit, cmake, boost, eigen, python, vtk, zlib }:
+
+stdenv.mkDerivation rec {
+  version = "2.0.0";
+  name = "mirtk-${version}";
+
+  # uses submodules so can't use fetchFromGitHub
+  src = fetchgit {
+    url = "https://github.com/BioMedIA/MIRTK.git";
+    rev = "v${version}";
+    sha256 = "0i2v97m66ir5myvi5b123r7zcagwy551b73s984gk7lksl5yiqxk";
+  };
+
+  cmakeFlags = "-DWITH_VTK=ON -DBUILD_ALL_MODULES=ON -DBUILD_TESTING=ON";
+
+  doCheck = true;
+
+  checkPhase = ''
+    ctest -E '(Polynomial|ConvolutionFunction|Downsampling|EdgeTable|InterpolateExtrapolateImage)'
+  '';
+  # testPolynomial - segfaults for some reason
+  # testConvolutionFunction, testDownsampling - main not called correctly
+  # testEdgeTable, testInterpolateExtrapolateImageFunction - setup fails
+
+  postInstall = ''
+    install -Dm644 -t "$out/share/bash-completion/completions/mirtk" share/completion/bash/mirtk
+  '';
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [ cmake gtest ];
+  buildInputs = [ boost eigen python vtk zlib ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/BioMedIA/MIRTK";
+    description = "Medical image registration library and tools";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.linux;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/science/biology/nifticlib/default.nix b/pkgs/development/libraries/science/biology/nifticlib/default.nix
index ae916b84ea337..19e5644b99303 100644
--- a/pkgs/development/libraries/science/biology/nifticlib/default.nix
+++ b/pkgs/development/libraries/science/biology/nifticlib/default.nix
@@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ zlib ];
 
   checkPhase = "ctest";
+  doCheck = false; # fails 7 out of 293 tests
 
   meta = with stdenv.lib; {
     homepage = https://sourceforge.net/projects/niftilib;
diff --git a/pkgs/development/libraries/science/biology/oobicpl/default.nix b/pkgs/development/libraries/science/biology/oobicpl/default.nix
new file mode 100644
index 0000000000000..8755b7fd2eba5
--- /dev/null
+++ b/pkgs/development/libraries/science/biology/oobicpl/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchFromGitHub, cmake, libminc, bicpl, arguments, pcre-cpp }:
+
+stdenv.mkDerivation rec {
+  pname = "oobicpl";
+  name  = "${pname}-2016-03-02";
+
+  owner = "BIC-MNI";
+
+  src = fetchFromGitHub {
+    inherit owner;
+    repo   = pname;
+    rev    = "bc062a65dead2e58461f5afb37abedfa6173f10c";
+    sha256 = "05l4ml9djw17bgdnrldhcxydrzkr2f2scqlyak52ph5azj5n4zsx";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  buildInputs = [ libminc bicpl arguments pcre-cpp ];
+
+  cmakeFlags = [ "-DLIBMINC_DIR=${libminc}/lib"
+                 "-DBICPL_DIR=${bicpl}/lib"
+                 "-DARGUMENTS_DIR=${arguments}/lib"
+                 "-DOOBICPL_BUILD_SHARED_LIBS=TRUE" ];
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/${owner}/${pname}";
+    description = "Brain Imaging Centre object-oriented programming library (and tools)";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license   = licenses.free;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/arpack/default.nix b/pkgs/development/libraries/science/math/arpack/default.nix
index 77cb7cf1f2b6f..55c1a641fc3d2 100644
--- a/pkgs/development/libraries/science/math/arpack/default.nix
+++ b/pkgs/development/libraries/science/math/arpack/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, copyPathsToStore, fetchurl, autoconf, automake, gettext, libtool
+{ stdenv, fetchurl, autoconf, automake, gettext, libtool
 , gfortran, openblas }:
 
 with stdenv.lib;
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index d971f1a2e0b24..8b740bdb6f6d1 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -45,6 +45,8 @@
 
 let
   inherit (stdenv.lib) optional optionalString;
+  # Don't upgrade until https://github.com/math-atlas/math-atlas/issues/44
+  # is resolved.
   version = "3.10.3";
 in
 
diff --git a/pkgs/development/libraries/science/math/blas/default.nix b/pkgs/development/libraries/science/math/blas/default.nix
index 9955af0465970..286be260052b0 100644
--- a/pkgs/development/libraries/science/math/blas/default.nix
+++ b/pkgs/development/libraries/science/math/blas/default.nix
@@ -59,4 +59,10 @@ stdenv.mkDerivation rec {
     homepage = http://www.netlib.org/blas/;
     platforms = stdenv.lib.platforms.unix;
   };
+
+  # We use linkName to pass a different name to --with-blas-libs for
+  # fflas-ffpack and linbox, because we use blas on darwin but openblas
+  # elsewhere.
+  # See see https://github.com/NixOS/nixpkgs/pull/45013.
+  passthru.linkName = "blas";
 }
diff --git a/pkgs/development/libraries/science/math/brial/default.nix b/pkgs/development/libraries/science/math/brial/default.nix
new file mode 100644
index 0000000000000..38b77781867de
--- /dev/null
+++ b/pkgs/development/libraries/science/math/brial/default.nix
@@ -0,0 +1,46 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, pkgconfig
+, boost
+, m4ri
+, gd
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.2.4";
+  name = "brial-${version}";
+
+  src = fetchFromGitHub {
+    owner = "BRiAl";
+    repo = "BRiAl";
+    rev = version;
+    sha256 = "08skgmwz190mvpkh0ddx92ilva6bxidxwh1qg16ipi768x92193s";
+  };
+
+  # FIXME package boost-test and enable checks
+  doCheck = false;
+
+  configureFlags = [
+    "--with-boost-unit-test-framework=no"
+  ];
+
+  buildInputs = [
+    boost
+    m4ri
+    gd
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+    pkgconfig
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/BRiAl/BRiAl;
+    description = "Legacy version of PolyBoRi maintained by sagemath developers";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/caffe2/default.nix b/pkgs/development/libraries/science/math/caffe2/default.nix
index 916bf122b3c24..c1994533b78d8 100644
--- a/pkgs/development/libraries/science/math/caffe2/default.nix
+++ b/pkgs/development/libraries/science/math/caffe2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, config, fetchFromGitHub, fetchpatch
+{ stdenv, lib, config, fetchFromGitHub
 , cmake
 , glog, google-gflags, gtest
 , protobuf, snappy
diff --git a/pkgs/development/libraries/science/math/clblas/default.nix b/pkgs/development/libraries/science/math/clblas/default.nix
index 40b02d3034176..7a653a58eb2a5 100644
--- a/pkgs/development/libraries/science/math/clblas/default.nix
+++ b/pkgs/development/libraries/science/math/clblas/default.nix
@@ -7,6 +7,7 @@
 , python
 , ocl-icd
 , opencl-headers
+, Accelerate, CoreGraphics, CoreVideo, OpenCL
 , gtest
 }:
 
@@ -40,11 +41,19 @@ stdenv.mkDerivation rec {
     gfortran
     blas
     python
-    ocl-icd
-    opencl-headers
     boost
     gtest
-  ]; 
+  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [
+    ocl-icd
+    opencl-headers
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    Accelerate
+    CoreGraphics
+    CoreVideo
+  ];
+  propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [
+    OpenCL
+  ];
 
   enableParallelBuilding = true;
 
@@ -56,7 +65,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.asl20;
     maintainers = with maintainers; [ artuuge ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 
 }
diff --git a/pkgs/development/libraries/science/math/cliquer/default.nix b/pkgs/development/libraries/science/math/cliquer/default.nix
new file mode 100644
index 0000000000000..2441aff9fa307
--- /dev/null
+++ b/pkgs/development/libraries/science/math/cliquer/default.nix
@@ -0,0 +1,38 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.21";
+  name = "cliquer-${version}";
+
+  # autotoolized version of the original cliquer
+  src = fetchFromGitHub {
+    owner = "dimpase";
+    repo = "autocliquer";
+    rev = "v${version}";
+    sha256 = "180i4qj1a25qfp75ig2d3144xfpb1dgcgpha0iqqghd7di4awg7z";
+  };
+
+  doCheck = true;
+
+  buildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://users.aalto.fi/~pat/cliquer.html;
+    downloadPage = src.meta.homepage; # autocliquer
+    description = "Routines for clique searching";
+    longDescription = ''
+      Cliquer is a set of C routines for finding cliques in an arbitrary weighted graph.
+      It uses an exact branch-and-bound algorithm developed by Patric Östergård.
+      It is designed with the aim of being efficient while still being flexible and
+      easy to use.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index f5715157531e1..c89e9e4296cfd 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit7, cudatoolkit75, cudatoolkit8, cudatoolkit9 }:
+{ callPackage, cudatoolkit_7, cudatoolkit_7_5, cudatoolkit_8, cudatoolkit_9_0, cudatoolkit_9 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -8,37 +8,45 @@ let
 in
 
 {
-  cudnn_cudatoolkit7 = generic rec {
-    version = "4.0";
-    cudatoolkit = cudatoolkit7;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}-prod.tgz";
-    sha256 = "0zgr6qdbc29qw6sikhrh6diwwz7150rqc8a49f2qf37j2rvyyr2f";
+  cudnn_cudatoolkit_7 = generic rec {
+    # Old URL is v4 instead of v4.0 for some reason...
+    version = "4";
+    cudatoolkit = cudatoolkit_7;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v4.0-prod.tgz";
+    sha256 = "01a4v5j4v9n2xjqcc4m28c3m67qrvsx87npvy7zhx7w8smiif2fd";
   };
 
-  cudnn_cudatoolkit75 = generic rec {
+  cudnn_cudatoolkit_7_5 = generic rec {
     version = "6.0";
-    cudatoolkit = cudatoolkit75;
+    cudatoolkit = cudatoolkit_7_5;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz";
     sha256 = "0b68hv8pqcvh7z8xlgm4cxr9rfbjs0yvg1xj2n5ap4az1h3lp3an";
   };
 
-  cudnn6_cudatoolkit8 = generic rec {
+  cudnn6_cudatoolkit_8 = generic rec {
     version = "6.0";
-    cudatoolkit = cudatoolkit8;
+    cudatoolkit = cudatoolkit_8;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v${version}.tgz";
     sha256 = "173zpgrk55ri8if7s5yngsc89ajd6hz4pss4cdxlv6lcyh5122cv";
   };
 
-  cudnn_cudatoolkit8 = generic rec {
+  cudnn_cudatoolkit_8 = generic rec {
     version = "7.0.5";
-    cudatoolkit = cudatoolkit8;
+    cudatoolkit = cudatoolkit_8;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
     sha256 = "9e0b31735918fe33a79c4b3e612143d33f48f61c095a3b993023cdab46f6d66e";
   };
 
-  cudnn_cudatoolkit9 = generic rec {
+  cudnn_cudatoolkit_9_0 = generic rec {
     version = "7.0.5";
-    cudatoolkit = cudatoolkit9;
+    cudatoolkit = cudatoolkit_9_0;
+    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
+    sha256 = "03mbv4m5lhwnc181xz8li067pjzzhxqbxgnrfc68dffm8xj0fghs";
+  };
+
+  cudnn_cudatoolkit_9 = generic rec {
+    version = "7.0.5";
+    cudatoolkit = cudatoolkit_9;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.tgz";
     sha256 = "1rfmdd2v47p83fm3sfyvik31gci0q17qs6kjng6mvcsd6akmvb8y";
   };
diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix
index 51bda19cf1391..bb1258655b5bf 100644
--- a/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/pkgs/development/libraries/science/math/cudnn/generic.nix
@@ -5,24 +5,18 @@
 
 { stdenv
 , lib
-, requireFile
 , cudatoolkit
+, fetchurl
 }:
 
 stdenv.mkDerivation rec {
   name = "cudatoolkit-${cudatoolkit.majorVersion}-cudnn-${version}";
 
   inherit version;
-
-  src = requireFile rec {
-    name = srcName;
+  src = fetchurl {
+    # URL from NVIDIA docker containers: https://gitlab.com/nvidia/cuda/blob/centos7/7.0/runtime/cudnn4/Dockerfile
+    url = "https://developer.download.nvidia.com/compute/redist/cudnn/v${version}/${srcName}";
     inherit sha256;
-    message = ''
-      This nix expression requires that ${name} is already part of the store.
-      Register yourself to NVIDIA Accelerated Computing Developer Program, retrieve the cuDNN library
-      at https://developer.nvidia.com/cudnn, and run the following command in the download directory:
-      nix-prefetch-url file://\$PWD/${name}
-    '';
   };
 
   installPhase = ''
diff --git a/pkgs/development/libraries/science/math/ecos/default.nix b/pkgs/development/libraries/science/math/ecos/default.nix
new file mode 100644
index 0000000000000..645a865eb955b
--- /dev/null
+++ b/pkgs/development/libraries/science/math/ecos/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "ecos-${version}";
+  version = "2.0.6";
+
+  src = fetchFromGitHub {
+    owner = "embotech";
+    repo = "ecos";
+    rev = "v${version}";
+    sha256 = "11v958j66wq30gxpjpkgl7n3rvla845lygz8fl39pgf1vk9sdyc7";
+  };
+
+  buildPhase = ''
+    make all shared
+  '';
+
+  doCheck = true;
+  checkPhase = ''
+    make test
+    ./runecos
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp lib*.a lib*.so $out/lib
+    cp -r include $out/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A lightweight conic solver for second-order cone programming";
+    homepage = https://www.embotech.com/ECOS;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bhipple ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/flintqs/default.nix b/pkgs/development/libraries/science/math/flintqs/default.nix
new file mode 100644
index 0000000000000..2891429c8578a
--- /dev/null
+++ b/pkgs/development/libraries/science/math/flintqs/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, gmp
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.0";
+  pname = "flintqs";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "sagemath";
+    repo = "FlintQS";
+    rev = "v${version}";
+    sha256 = "1f0lnayz6j6qgasx8pbq61d2fqam0wwhsmh6h15l4vq58l1vvbwj";
+  };
+
+  preAutoreconf = ''
+    touch ChangeLog
+  '';
+
+  buildInputs = [
+    gmp
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sagemath/FlintQS;
+    description = "Highly optimized multi-polynomial quadratic sieve for integer factorization";
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/ipopt/default.nix b/pkgs/development/libraries/science/math/ipopt/default.nix
index f694f72f22b6f..4a6aabb447f3f 100644
--- a/pkgs/development/libraries/science/math/ipopt/default.nix
+++ b/pkgs/development/libraries/science/math/ipopt/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "ipopt-${version}";
-  version = "3.12.9";
+  version = "3.12.10";
 
   src = fetchurl {
-    url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
-    sha256 = "1fqdjgxh6l1xjvw1ffma7lg92xqg0l8sj02y0zqvbfnx8i47qs9a";
+    url = "https://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
+    sha256 = "004pd90knnnzcx727knb7ffkabb1ggbskb8s607bfvfgdd7wlli9";
   };
 
   CXXDEFS = [ "-DHAVE_RAND" "-DHAVE_CSTRING" "-DHAVE_CSTDIO" ];
diff --git a/pkgs/development/libraries/science/math/lcalc/default.nix b/pkgs/development/libraries/science/math/lcalc/default.nix
new file mode 100644
index 0000000000000..51fbd9f14cb49
--- /dev/null
+++ b/pkgs/development/libraries/science/math/lcalc/default.nix
@@ -0,0 +1,98 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, pari
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.23";
+  pname = "lcalc";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    # original at http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/CODE/L-${version}.tar.gz, no longer available
+    # "newer" version at google code https://code.google.com/archive/p/l-calc/source/default/source
+    url = "mirror://sageupstream/lcalc/lcalc-${version}.tar.bz2";
+    sha256 = "1c6dsdshgxhqppjxvxhp8yhpxaqvnz3d1mlh26r571gkq8z2bm43";
+  };
+
+  preConfigure = "cd src";
+
+  buildInputs = [
+    pari
+  ];
+
+  patches = [
+    # Port to newer pari
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/pari-2.7.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1x3aslldm8njjm7p9g9s9w2c91kphnci2vpkxkrcxfihw3ayss6c";
+    })
+
+    # Uncomment the definition of lcalc_to_double(const long double& x).
+    # (Necessary for GCC >= 4.6.0, cf. https://trac.sagemath.org/ticket/10892)
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/Lcommon.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0g4ybvsrcv48rmlh1xjnkms19jp25k58azv6ds1f2cm34hxs8fdx";
+    })
+
+    # Include also <time.h> in Lcommandline_numbertheory.h (at least required
+    # on Cygwin, cf. https://trac.sagemath.org/ticket/9845)
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/time.h.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1brf04n11kkc43ylagf8dm32j5r2g9zv51dp5wag1mpm4p04l7cl";
+    })
+
+    # Fix for gcc >4.6
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0i2yvxm5fx4z0v6m4srgh8rj98kijmlvyirlxf1ky0bp2si6bpka";
+    })
+
+    # gcc 5.1
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vlh";
+    })
+
+    # based on gentoos makefile patch -- fix paths, adhere to flags
+    ./makefile.patch
+
+    # (fetchpatch {
+    #   name = "default-double.patch";
+    #   url = "https://github.com/dimpase/lcalc/pull/1/commits/0500c67b6aa1f492715591669f6647c8f7a3ea59.patch";
+    #   sha256 = "0dqwmxpm9wb53qbypsyfkgsvk2f8nf67sydphd4dkc2vw4yz6vla";
+    # })
+
+    (fetchpatch {
+      name = "c++11.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/lcalc-c++11.patch?h=packages/lcalc&id=3607b97df5a8c231191115b0cb5c62426b339e71";
+      sha256 = "1ccrl61lv2vvx8ggldq54m5d0n1iy6mym7qz0i8nj6yj0dshnpk3";
+    })
+  ] ++ stdenv.lib.optional stdenv.isDarwin
+  (fetchpatch {
+    url = "https://git.sagemath.org/sage.git/plain/build/pkgs/lcalc/patches/clang.patch";
+    sha256 = "0bb7656z6cp6i4p2qj745cmq0lhh52v2akl9whi760dynfdxbl18";
+  });
+
+  postPatch = stdenv.lib.optionalString stdenv.isDarwin ''
+    substituteInPlace src/Makefile --replace g++ c++
+  '';
+
+  installFlags = [
+    "DESTDIR=$(out)"
+  ];
+
+  makeFlags = [
+    "PARI_DEFINE=-DINCLUDE_PARI"
+    "PARI_PREFIX=${pari}"
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = http://oto.math.uwaterloo.ca/~mrubinst/L_function_public/L.html;
+    description = "A program for calculating with L-functions";
+    license = with licenses; [ gpl2 ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/lcalc/makefile.patch b/pkgs/development/libraries/science/math/lcalc/makefile.patch
new file mode 100644
index 0000000000000..f55bbe3f24fa7
--- /dev/null
+++ b/pkgs/development/libraries/science/math/lcalc/makefile.patch
@@ -0,0 +1,113 @@
+diff --git a/src/Makefile b/src/Makefile
+index 84e4e88..56ca676 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -58,7 +58,7 @@ ifeq ($(G5),TRUE)
+    #MACHINE_SPECIFIC_FLAGS = -mpowerpc -mpowerpc64 -m64
+ endif
+ 
+-CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
++CCFLAGS = $(CXXFLAGS) $(OPENMP_FLAG) $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS)
+ #CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG)  $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
+ #CCFLAGS =  -Wa,-W -O2 -fno-exceptions -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MACHINE_SPECIFIC_FLAGS) $(EXTRA)
+ 
+@@ -68,12 +68,12 @@ CCFLAGS =  -Wa,-W -O3 $(OPENMP_FLAG) -Wno-deprecated $(PREPROCESSOR_DEFINE) $(MA
+ 
+ ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
+     #location of pari.h.
+-    LOCATION_PARI_H = /usr/local/include/pari #usual location
++    LOCATION_PARI_H = $(PARI_PREFIX)/include/pari #usual location
+ 
+     #location of libpari.a or of libpari.so
+     #depending on whether static or dynamic libraries are being used.
+     #On mac os x it's the former, on linux I think usually the latter.
+-    LOCATION_PARI_LIBRARY = /usr/local/lib #usual location
++    LOCATION_PARI_LIBRARY = $(PARI_PREFIX)/lib #usual location
+ else
+     #supplied as a dummy so as to avoid more ifeq's below
+     LOCATION_PARI_H = .
+@@ -89,24 +89,24 @@ INCLUDEFILES= -I../include
+ 
+ ifeq ($(OS_NAME),Darwin)
+     LDFLAGS2 =
+-    DYN_OPTION=dynamiclib
++    DYN_OPTION=-dynamiclib
+ else
+-    LDFLAGS1 = -Xlinker -export-dynamic #not sure why pari calls these when linking but on the web I found
++    LDFLAGS1 = #not sure why pari calls these when linking but on the web I found
+     #'Libtool provides the `-export-dynamic' link flag (see section Link mode), which does this declaration.
+     #You need to use this flag if you are linking a shared library that will be dlopened'
+     #see notes below
+     #ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
+-       LDFLAGS2 = $(LDFLAGS1) -Xlinker -rpath -Xlinker $(LOCATION_PARI_LIBRARY)
++       LDFLAGS2 = $(LDFLAGS)
+     #else
+     #    LDFLAGS2 = $(LDFLAGS1)
+     #endif
+-    DYN_OPTION=shared
++    DYN_OPTION=$(LDFLAGS) -shared -Wl,-soname,libLfunction.so
+ endif
+ 
+ ifeq ($(PARI_DEFINE),-DINCLUDE_PARI)
+-    LDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
++    MYLDFLAGS = $(LDFLAGS2) -L$(LOCATION_PARI_LIBRARY) -lpari
+ else
+-    LDFLAGS = $(LDFLAGS2)
++    MYLDFLAGS = $(LDFLAGS2)
+ endif
+ 
+ 
+@@ -129,7 +129,8 @@ endif
+ #become clear which libraries the computer can find.
+ 
+ 
+-INSTALL_DIR= /usr/local
++INSTALL_DIR= $(DESTDIR)
++LIB_DIR ?=lib
+ 
+ #object files for the libLfunction library
+ OBJ_L = Lglobals.o Lgamma.o Lriemannsiegel.o Lriemannsiegel_blfi.o Ldokchitser.o
+@@ -141,9 +142,8 @@ OBJECTS = $(OBJ3)
+ 
+ all:
+ #	make print_vars
+-	make libLfunction.so
+-	make lcalc
+-	make examples
++	${MAKE} libLfunction.so
++	${MAKE} lcalc
+ #	make find_L
+ #	make test
+ 
+@@ -151,7 +151,7 @@ print_vars:
+ 	@echo OS_NAME = $(OS_NAME)
+ 
+ lcalc: $(OBJECTS)
+-	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(LDFLAGS) -o lcalc $(GMP_FLAGS)
++	$(CC) $(CCFLAGS) $(INCLUDEFILES) $(OBJECTS) $(MYLDFLAGS) -o lcalc $(GMP_FLAGS)
+ 
+ examples:
+ 	$(CC) $(CCFLAGS) $(INCLUDEFILES) example_programs/example.cc libLfunction.so -o example_programs/example $(GMP_FLAGS)
+@@ -262,15 +262,18 @@ Lcommandline.o: ../include/Lcommandline_values_zeros.h
+ 
+ 
+ libLfunction.so: $(OBJ_L)
+-	g++ -$(DYN_OPTION)  -o libLfunction.so $(OBJ_L)
++	g++ $(DYN_OPTION) -o libLfunction.so $(OBJ_L)
+ 
+ clean:
+ 	rm -f *.o lcalc libLfunction.so example_programs/example
+ 
+ install:
+-	cp -f lcalc $(INSTALL_DIR)/bin/.
+-	cp -f libLfunction.so $(INSTALL_DIR)/lib/.
+-	cp -rf ../include $(INSTALL_DIR)/include/Lfunction
++	install -d $(INSTALL_DIR)/bin
++	install -d $(INSTALL_DIR)/$(LIB_DIR)
++	install -d $(INSTALL_DIR)/include/libLfunction
++	install lcalc $(INSTALL_DIR)/bin
++	install libLfunction.so $(INSTALL_DIR)/$(LIB_DIR)
++	install -m 644 -t $(INSTALL_DIR)/include/libLfunction ../include/*.h
+ 
+ 
+ SRCS = Lcommandline.cc Lcommandline_elliptic.cc Lcommandline_globals.cc Lcommandline_misc.cc Lcommandline_numbertheory.cc Lcommandline_twist.cc Lcommandline_values_zeros.cc Lgamma.cc Lglobals.cc Lmisc.cc Lriemannsiegel.cc Lriemannsiegel_blfi.cc cmdline.c
diff --git a/pkgs/development/libraries/science/math/libbraiding/default.nix b/pkgs/development/libraries/science/math/libbraiding/default.nix
new file mode 100644
index 0000000000000..be650f3c3ce89
--- /dev/null
+++ b/pkgs/development/libraries/science/math/libbraiding/default.nix
@@ -0,0 +1,34 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.0";
+  name = "libbraiding-${version}";
+
+  src = fetchFromGitHub {
+    owner = "miguelmarco";
+    repo = "libbraiding";
+    rev = version;
+    sha256 = "0l68rikfr7k2l547gb3pp3g8cj5zzxwipm79xrb5r8ffj466ydxg";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  # no tests included for now (2018-08-05), but can't hurt to activate
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/miguelmarco/libbraiding/;
+    description = "C++ library for computations on braid groups";
+    longDescription = ''
+      A library to compute several properties of braids, including centralizer and conjugacy check.
+    '';
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/libhomfly/default.nix b/pkgs/development/libraries/science/math/libhomfly/default.nix
new file mode 100644
index 0000000000000..e96ee475d7d24
--- /dev/null
+++ b/pkgs/development/libraries/science/math/libhomfly/default.nix
@@ -0,0 +1,35 @@
+{ stdenv
+, fetchFromGitHub
+, autoreconfHook
+, boehmgc
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.02r5";
+  name = "llibhomfly-${version}";
+
+  src = fetchFromGitHub {
+    owner = "miguelmarco";
+    repo = "libhomfly";
+    rev = version;
+    sha256 = "1szv8iwlhvmy3saigi15xz8vgch92p2lbsm6440v5s8vxj455bvd";
+  };
+
+  buildInputs = [
+    boehmgc
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/miguelmarco/libhomfly/;
+    description = "Library to compute the homfly polynomial of knots and links";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/liblapack/3.5.0.nix b/pkgs/development/libraries/science/math/liblapack/3.5.0.nix
deleted file mode 100644
index 61a45cbab94be..0000000000000
--- a/pkgs/development/libraries/science/math/liblapack/3.5.0.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{
-  stdenv,
-  fetchurl,
-  gfortran,
-  cmake,
-  python2,
-  atlas ? null,
-  shared ? false
-}:
-let
-  atlasMaybeShared = if atlas != null then atlas.override { inherit shared; }
-                     else null;
-  usedLibExtension = if shared then ".so" else ".a";
-  inherit (stdenv.lib) optional optionals concatStringsSep;
-  inherit (builtins) hasAttr attrNames;
-  version = "3.5.0";
-in
-
-stdenv.mkDerivation rec {
-  name = "liblapack-${version}";
-  src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${version}.tgz";
-    sha256 = "0lk3f97i9imqascnlf6wr5mjpyxqcdj73pgj97dj2mgvyg9z1n4s";
-  };
-
-  propagatedBuildInputs = [ atlasMaybeShared ];
-  buildInputs = [ gfortran cmake ];
-  nativeBuildInputs = [ python2 ];
-
-  cmakeFlags = [
-    "-DUSE_OPTIMIZED_BLAS=ON"
-    "-DCMAKE_Fortran_FLAGS=-fPIC"
-  ]
-  ++ (optionals (atlas != null) [
-    "-DBLAS_ATLAS_f77blas_LIBRARY=${atlasMaybeShared}/lib/libf77blas${usedLibExtension}"
-    "-DBLAS_ATLAS_atlas_LIBRARY=${atlasMaybeShared}/lib/libatlas${usedLibExtension}"
-  ])
-  ++ (optional shared "-DBUILD_SHARED_LIBS=ON")
-  # If we're on darwin, CMake will automatically detect impure paths. This switch
-  # prevents that.
-  ++ (optional stdenv.isDarwin "-DCMAKE_OSX_SYSROOT:PATH=''")
-  ;
-
-  doCheck = ! shared;
-
-  checkPhase = "
-    sed -i 's,^#!.*,#!${python2.interpreter},' lapack_testing.py
-    ctest
-  ";
-
-  enableParallelBuilding = true;
-
-  passthru = {
-    blas = atlas;
-  };
-
-  meta = with stdenv.lib; {
-    inherit version;
-    description = "Linear Algebra PACKage";
-    homepage = http://www.netlib.org/lapack/;
-    license = licenses.bsd3;
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/development/libraries/science/math/liblapack/default.nix b/pkgs/development/libraries/science/math/liblapack/default.nix
index baf77696b16ff..e6af2251b1f18 100644
--- a/pkgs/development/libraries/science/math/liblapack/default.nix
+++ b/pkgs/development/libraries/science/math/liblapack/default.nix
@@ -11,16 +11,15 @@ let
   atlasMaybeShared = if atlas != null then atlas.override { inherit shared; }
                      else null;
   usedLibExtension = if shared then ".so" else ".a";
-  inherit (stdenv.lib) optional optionals concatStringsSep;
-  inherit (builtins) hasAttr attrNames;
-  version = "3.4.1";
+  inherit (stdenv.lib) optional optionals;
+  version = "3.8.0";
 in
 
 stdenv.mkDerivation rec {
   name = "liblapack-${version}";
   src = fetchurl {
-    url = "http://www.netlib.org/lapack/lapack-${version}.tgz";
-    sha256 = "93b910f94f6091a2e71b59809c4db4a14655db527cfc5821ade2e8c8ab75380f";
+    url = "http://www.netlib.org/lapack/lapack-${version}.tar.gz";
+    sha256 = "1xmwi2mqmipvg950gb0rhgprcps8gy8sjm8ic9rgy2qjlv22rcny";
   };
 
   propagatedBuildInputs = [ atlasMaybeShared ];
@@ -44,7 +43,6 @@ stdenv.mkDerivation rec {
   doCheck = ! shared;
 
   checkPhase = "
-    sed -i 's,^#!.*,#!${python2.interpreter},' lapack_testing.py
     ctest
   ";
 
diff --git a/pkgs/development/libraries/science/math/liblbfgs/default.nix b/pkgs/development/libraries/science/math/liblbfgs/default.nix
index fe90fa2e171d1..33e8baada8346 100644
--- a/pkgs/development/libraries/science/math/liblbfgs/default.nix
+++ b/pkgs/development/libraries/science/math/liblbfgs/default.nix
@@ -2,7 +2,7 @@
 stdenv.mkDerivation {
   name = "liblbfgs-1.10";
 
-  configureFlags = "--enable-sse2";
+  configureFlags = [ "--enable-sse2" ];
   src = fetchurl {
     url = https://github.com/downloads/chokkan/liblbfgs/liblbfgs-1.10.tar.gz;
     sha256 = "1kv8d289rbz38wrpswx5dkhr2yh4fg4h6sszkp3fawxm09sann21";
diff --git a/pkgs/development/libraries/science/math/m4ri/default.nix b/pkgs/development/libraries/science/math/m4ri/default.nix
new file mode 100644
index 0000000000000..b9ee1e2a10d78
--- /dev/null
+++ b/pkgs/development/libraries/science/math/m4ri/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, fetchFromBitbucket
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  version = "20140914";
+  name = "m4ri-${version}";
+
+  src = fetchFromBitbucket {
+    owner = "malb";
+    repo = "m4ri";
+    rev = "release-${version}";
+    sha256 = "0xfg6pffbn8r1s0y7bn9b8i55l00d41dkmhrpf7pwk53qa3achd3";
+  };
+
+  doCheck = true;
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://malb.bitbucket.io/m4ri/;
+    description = "Library to do fast arithmetic with dense matrices over F_2";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/m4rie/default.nix b/pkgs/development/libraries/science/math/m4rie/default.nix
new file mode 100644
index 0000000000000..23fc03655cf37
--- /dev/null
+++ b/pkgs/development/libraries/science/math/m4rie/default.nix
@@ -0,0 +1,39 @@
+{ stdenv
+, fetchFromBitbucket
+, autoreconfHook
+, m4ri
+}:
+
+stdenv.mkDerivation rec {
+  version = "20150908";
+  name = "m4rie-${version}";
+
+  src = fetchFromBitbucket {
+    owner = "malb";
+    repo = "m4rie";
+    rev = "release-${version}";
+    sha256 = "0r8lv46qx5mkz5kp3ay2jnsp0mbhlqr5z2z220wdk73wdshcznss";
+  };
+
+  doCheck = true;
+
+  buildInputs = [
+    m4ri
+  ];
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://malb.bitbucket.io/m4rie/;
+    description = "Library for matrix multiplication, reduction and inversion over GF(2^k) for 2 <= k <= 10";
+    longDescription = ''
+      M4RIE is a library for fast arithmetic with dense matrices over small finite fields of even characteristic.
+      It uses the M4RI library, implementing the same operations over the finite field F2.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/magma/default.nix b/pkgs/development/libraries/science/math/magma/default.nix
index 26ec501f1a7e5..8444d88809af2 100644
--- a/pkgs/development/libraries/science/math/magma/default.nix
+++ b/pkgs/development/libraries/science/math/magma/default.nix
@@ -7,7 +7,7 @@ let version = "2.0.2";
 in stdenv.mkDerivation {
   name = "magma-${version}";
   src = fetchurl {
-    url = "http://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${version}.tar.gz";
+    url = "https://icl.cs.utk.edu/projectsfiles/magma/downloads/magma-${version}.tar.gz";
     sha256 = "0w3z6k1npfh0d3r8kpw873f1m7lny29sz2bvvfxzk596d4h083lk";
     name = "magma-${version}.tar.gz";
   };
diff --git a/pkgs/development/libraries/science/math/nccl/default.nix b/pkgs/development/libraries/science/math/nccl/default.nix
index 1d692f6316ffb..d3c20258425b9 100644
--- a/pkgs/development/libraries/science/math/nccl/default.nix
+++ b/pkgs/development/libraries/science/math/nccl/default.nix
@@ -1,4 +1,4 @@
-{ callPackage, cudatoolkit8, cudatoolkit9 }:
+{ callPackage, cudatoolkit_8, cudatoolkit_9 }:
 
 let
   generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
@@ -8,16 +8,16 @@ let
 in
 
 {
-  nccl_cudatoolkit8 = generic rec {
+  nccl_cudatoolkit_8 = generic rec {
     version = "2.1.4";
-    cudatoolkit = cudatoolkit8;
+    cudatoolkit = cudatoolkit_8;
     srcName = "nccl_${version}-1+cuda${cudatoolkit.majorVersion}_x86_64.txz";
     sha256 = "1lwwm8kdhna5m318yg304kl2gsz1jwhv4zv4gn8av2m57zh848zi";
   };
 
-  nccl_cudatoolkit9 = generic rec {
+  nccl_cudatoolkit_9 = generic rec {
     version = "2.1.4";
-    cudatoolkit = cudatoolkit9;
+    cudatoolkit = cudatoolkit_9;
     srcName = "nccl_${version}-1+cuda${cudatoolkit.majorVersion}_x86_64.txz";
     sha256 = "0pajmqzkacpszs63jh2hw2qqc49kj75kcf7r0ky8hdh560q8xn0p";
   };
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 07d2a04c5e20a..b258d2e5a9cc2 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, gfortran, perl, which, config, coreutils
+{ stdenv, fetchFromGitHub, fetchpatch, gfortran, perl, which, config, coreutils
 # Most packages depending on openblas expect integer width to match
 # pointer width, but some expect to use 32-bit integers always
 # (for compatibility with reference BLAS).
@@ -60,7 +60,7 @@ let
       TARGET = "ATHLON";
       DYNAMIC_ARCH = "1";
       CC = "gcc";
-      USE_OPENMP = "1";
+      USE_OPENMP = if stdenv.hostPlatform.isMusl then "0" else "1";
     };
   };
 in
@@ -76,15 +76,15 @@ let
     if blas64_ != null
       then blas64_
       else hasPrefix "x86_64" stdenv.system;
-
-  version = "0.2.20";
 in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "openblas-${version}";
-  src = fetchurl {
-    url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz";
-    sha256 = "157kpkbpwlr57dkmqiwr3qp9fglfidagv7l6fibrhln6v4aqpwsy";
-    name = "openblas-${version}.tar.gz";
+  version = "0.3.1";
+  src = fetchFromGitHub {
+    owner = "xianyi";
+    repo = "OpenBLAS";
+    rev = "v${version}";
+    sha256 = "1dkwp4gz1hzpmhzks9y9ipb4c5h0r6c7yff62x3s8x9z6f8knaqc";
   };
 
   inherit blas64;
@@ -118,16 +118,38 @@ stdenv.mkDerivation {
     ] ++ stdenv.lib.optional (stdenv.hostPlatform.libc == "musl") "NO_AFFINITY=1"
     ++ mapAttrsToList (var: val: var + "=" + val) config;
 
-  patches = stdenv.lib.optional (stdenv.hostPlatform.libc != "glibc")
-    # https://github.com/xianyi/OpenBLAS/pull/1247
-    (fetchpatch {
-      url = "https://github.com/xianyi/OpenBLAS/commit/88a35ff457f55e527e0e8a503a0dc61976c1846d.patch";
-      sha256 = "1a3qrhvl5hp06c53fjqghq4zgf6ls7narm06l0shcvs57hznh09n";
-    });
+    patches = [
+      # Backport of https://github.com/xianyi/OpenBLAS/pull/1667, which
+      # is causing problems and was already accepted upstream.
+      (fetchpatch {
+        url = "https://github.com/xianyi/OpenBLAS/commit/5f2a3c05cd0e3872be3c5686b9da6b627658eeb7.patch";
+        sha256 = "1qvxhk92likrshw6z6hjqxvkblwzgsbzis2b2f71bsvx9174qfk1";
+      })
+      # Double "MAX_ALLOCATING_THREADS", fix with Go and Octave
+      # https://github.com/xianyi/OpenBLAS/pull/1663 (see also linked issue)
+      (fetchpatch {
+        url = "https://github.com/xianyi/OpenBLAS/commit/a49203b48c4a3d6f86413fc8c4b1fbfaa1946463.patch";
+        sha256 = "0v6kjkbgbw7hli6xkism48wqpkypxmcqvxpx564snll049l2xzq2";
+      })
+    ];
 
   doCheck = true;
   checkTarget = "tests";
 
+  postInstall = ''
+    # Write pkgconfig aliases. Upstream report:
+    # https://github.com/xianyi/OpenBLAS/issues/1740
+    for alias in blas cblas lapack; do
+      cat <<EOF > $out/lib/pkgconfig/openblas-$alias.pc
+Name: $alias
+Version: ${version}
+Description: $alias provided by the OpenBLAS package.
+Cflags: -I$out/include
+Libs: -L$out/lib -lopenblas
+EOF
+    done
+  '';
+
   meta = with stdenv.lib; {
     description = "Basic Linear Algebra Subprograms";
     license = licenses.bsd3;
@@ -135,4 +157,10 @@ stdenv.mkDerivation {
     platforms = platforms.unix;
     maintainers = with maintainers; [ ttuegel ];
   };
+
+  # We use linkName to pass a different name to --with-blas-libs for
+  # fflas-ffpack and linbox, because we use blas on darwin but openblas
+  # elsewhere.
+  # See see https://github.com/NixOS/nixpkgs/pull/45013.
+  passthru.linkName = "openblas";
 }
diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix
index 195b90c86e1a2..3e8524b40140f 100644
--- a/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "openlibm-${version}";
-  version = "0.5.5";
+  version = "0.6.0";
   src = fetchurl {
     url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
-    sha256 = "1z8cj5q8ca8kmrakwkpjxf8svi81waw0c568cx8v8pv9kvswbp07";
+    sha256 = "0a5fpm8nra5ldhjk0cqd2rx1qh32wiarkxmcqcm5xl8z7l4kjm6l";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/science/math/planarity/default.nix b/pkgs/development/libraries/science/math/planarity/default.nix
new file mode 100644
index 0000000000000..7394fb9e1b411
--- /dev/null
+++ b/pkgs/development/libraries/science/math/planarity/default.nix
@@ -0,0 +1,40 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, autoreconfHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "planarity";
+  version = "3.0.0.5";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "graph-algorithms";
+    repo = "edge-addition-planarity-suite";
+    rev = "Version_${version}";
+    sha256 = "01cm7ay1njkfsdnmnvh5zwc7wg7x189hq1vbfhh9p3ihrbnmqzh8";
+  };
+
+  nativeBuildInputs = [
+    autoreconfHook
+  ];
+
+  doCheck = true;
+
+  patches = [
+    # declare variables declared in headers as extern, not yet merged upstream
+    (fetchpatch {
+      url = "https://github.com/graph-algorithms/edge-addition-planarity-suite/pull/3.patch";
+      sha256 = "1nqjc4clr326imz4jxqxcxv2hgh1sjgzll27k5cwkdin8lnmmil8";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/graph-algorithms/edge-addition-planarity-suite;
+    description = "A library for implementing graph algorithms";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/rankwidth/default.nix b/pkgs/development/libraries/science/math/rankwidth/default.nix
new file mode 100644
index 0000000000000..fda54fe44ab11
--- /dev/null
+++ b/pkgs/development/libraries/science/math/rankwidth/default.nix
@@ -0,0 +1,28 @@
+{ stdenv
+, fetchurl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rankwidth";
+  version = "0.7";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sageupstream/rw/rw-${version}.tar.gz";
+    sha256 = "1rv2v42x2506x7f10349m1wpmmfxrv9l032bkminni2gbip9cjg0";
+  };
+
+  configureFlags = [
+    "--enable-executable=no" # no igraph dependency
+  ];
+
+  # check phase is empty for now (as of version 0.7)
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    description = "Calculates rank-width and rank-decompositions";
+    license = with licenses; [ gpl2Plus ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/rubiks/default.nix b/pkgs/development/libraries/science/math/rubiks/default.nix
new file mode 100644
index 0000000000000..624885c501aae
--- /dev/null
+++ b/pkgs/development/libraries/science/math/rubiks/default.nix
@@ -0,0 +1,82 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, coreutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rubiks";
+  version = "20070912";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://sageupstream/rubiks/rubiks-${version}.tar.bz2";
+    sha256 = "0zdmkb0j1kyspdpsszzb2k3279xij79jkx0dxd9f3ix1yyyg3yfq";
+  };
+
+  preConfigure = ''
+    export INSTALL="${coreutils}/bin/install"
+  '';
+
+  # everything is done in `make install`
+  buildPhase = "true";
+
+  installFlags = [
+    "PREFIX=$(out)"
+  ];
+
+  patches = [
+    # Fix makefiles which use all the variables in all the wrong ways and
+    # hardcode values for some variables.
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/dietz-cu2-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1ry3w1mk9q4jqd91zlaa1bdiiplld4hpfjaldbhlmzlgrrc99qmq";
+    })
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/dietz-mcube-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0zsbh6k3kqdg82fv0kzghr1x7pafisv943gmssqscp107bhg77bz";
+    })
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/dietz-solver-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "0vhw70ylnmydgjhwx8jjlb2slccj4pfqn6vzirkyz1wp8apsmfhp";
+    })
+    (fetchpatch {
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/rubiks/patches/reid-Makefile.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1r311sn012xs135s0d21qwsig2kld7rdcq19nm0zbnklviid57df";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.sagemath.org/spkg/rubiks;
+    description = "Several programs for working with Rubik's cubes";
+    # The individual websites are no longer available
+    longDescription = ''
+      There are several programs for working with Rubik's cubes, by three
+      different people. Look inside the directories under /src to see
+      specific info and licensing. In summary the three contributers are:
+
+
+      Michael Reid (GPL) http://www.math.ucf.edu/~reid/Rubik/optimal_solver.html
+          optimal - uses many pre-computed tables to find an optimal
+                    solution to the 3x3x3 Rubik's cube
+
+
+      Dik T. Winter (MIT License)
+          cube    - uses Kociemba's algorithm to iteratively find a short
+                    solution to the 3x3x3 Rubik's cube
+          size222 - solves a 2x2x2 Rubik's cube
+
+
+      Eric Dietz (GPL) http://www.wrongway.org/?rubiksource
+          cu2   - A fast, non-optimal 2x2x2 solver
+          cubex - A fast, non-optimal 3x3x3 solver
+          mcube - A fast, non-optimal 4x4x4 solver
+    '';
+    license = with licenses; [
+      gpl2 # Michael Reid's and Eric Dietz software
+      mit # Dik T. Winter's software
+    ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/scs/default.nix b/pkgs/development/libraries/science/math/scs/default.nix
new file mode 100644
index 0000000000000..0539083e823ca
--- /dev/null
+++ b/pkgs/development/libraries/science/math/scs/default.nix
@@ -0,0 +1,44 @@
+{ stdenv, fetchFromGitHub, blas, liblapack, gfortran }:
+
+stdenv.mkDerivation rec {
+  name = "scs-${version}";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "cvxgrp";
+    repo = "scs";
+    rev = "v${version}";
+    sha256 = "17lbcmcsniqlyzgbzmjipfd0rrk25a8hzh7l5wl2wp1iwsd8c3a9";
+  };
+
+  buildInputs = [ blas liblapack gfortran.cc.lib ];
+
+  # Actually link and add libgfortran to the rpath
+  patchPhase = ''
+    sed -i 's/#-lgfortran/-lgfortran/' scs.mk
+  '';
+
+  doCheck = true;
+
+  # Test demo requires passing any int as $1; 42 chosen arbitrarily
+  checkPhase = ''
+    ./out/demo_socp_indirect 42
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -r include $out/
+    cp out/*.a out/*.so $out/lib/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Splitting Conic Solver";
+    longDescription = ''
+      Numerical optimization package for solving large-scale convex cone problems
+    '';
+    homepage = https://github.com/cvxgrp/scs;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.bhipple ];
+  };
+}
diff --git a/pkgs/development/libraries/science/math/sympow/default.nix b/pkgs/development/libraries/science/math/sympow/default.nix
new file mode 100644
index 0000000000000..c34701e3f9136
--- /dev/null
+++ b/pkgs/development/libraries/science/math/sympow/default.nix
@@ -0,0 +1,91 @@
+{ stdenv
+, fetchurl
+, fetchpatch
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  version = "1.018.1";
+  name = "sympow-${version}";
+
+  src = fetchurl {
+    # Original website no longer reachable
+    url = "mirror://sageupstream/sympow/sympow-${version}.tar.bz2";
+    sha256 = "0hphs7ia1wr5mydf288zvwj4svrymfpadcg3pi6w80km2yg5bm3c";
+  };
+
+  nativeBuildInputs = [
+    makeWrapper
+  ];
+
+  configurePhase = ''
+    runHook preConfigure
+    ./Configure # doesn't take any options
+    runHook postConfigure
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    install -D datafiles/* --target-directory "$out/share/sympow/datafiles/"
+    install *.gp "$out/share/sympow/"
+    install -Dm755 sympow "$out/share/sympow/sympow"
+    install -D new_data "$out/bin/new_data"
+
+    makeWrapper "$out/share/sympow/sympow" "$out/bin/sympow" \
+      --run 'export SYMPOW_LOCAL="$HOME/.local/share/sympow"' \
+      --run 'if [ ! -d "$SYMPOW_LOCAL" ]; then
+        mkdir -p "$SYMPOW_LOCAL"
+        cp -r @out@/share/sympow/* "$SYMPOW_LOCAL"
+        chmod -R +xw "$SYMPOW_LOCAL"
+    fi' \
+      --run 'cd "$SYMPOW_LOCAL"'
+    substituteInPlace $out/bin/sympow --subst-var out
+
+    runHook postInstall
+  '';
+
+  patches = [
+    # don't hardcode paths
+    (fetchpatch {
+      name = "do_not_hardcode_paths.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/Configure.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "1611p8ra8zkxvmxn3gm2l64bd4ma4m6r4vd6vwswcic91k1fci04";
+    })
+
+    # bug on some platforms in combination with a newer gcc:
+    # https://trac.sagemath.org/ticket/11920
+    (fetchpatch {
+      name = "fix_newer_gcc1.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/fpu.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "14gfa56w3ddfmd4d5ir9a40y2zi43cj1i4d2l2ij9l0qlqdy9jyx";
+    })
+    (fetchpatch {
+      name = "fix_newer_gcc2.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/execlp.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "190gqhgz9wgw4lqwz0nwb1izc9zffx34bazsiw2a2sz94bmgb54v";
+    })
+
+    # fix pointer initialization bug (https://trac.sagemath.org/ticket/22862)
+    (fetchpatch {
+      name = "fix_pointer_initialization1.patch";
+      url = "https://git.sagemath.org/sage.git/plain/build/pkgs/sympow/patches/initialize-tacks.patch?id=07d6c37d18811e2b377a9689790a7c5e24da16ba";
+      sha256 = "02341vdbbidfs39s26vi4n5wigz619sw8fdbl0h9qsmwwhscgf85";
+    })
+    (fetchpatch {
+      name = "fix_pointer_initialization2.patch";
+      url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/sympow-datafiles.patch?h=packages/sympow";
+      sha256 = "1m0vz048layb47r1jjf7fplw650ccc9x0w3l322iqmppzmv3022a";
+    })
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A package to compute special values of symmetric power elliptic curve L-functions";
+    license = {
+      shortName = "sympow";
+      fullName = "Custom, BSD-like. See COPYING file.";
+      free = true;
+    };
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/science/math/zn_poly/default.nix b/pkgs/development/libraries/science/math/zn_poly/default.nix
new file mode 100644
index 0000000000000..19d63d89834e6
--- /dev/null
+++ b/pkgs/development/libraries/science/math/zn_poly/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, fetchurl
+, gmp
+, python2
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.9";
+  pname = "zn_poly";
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "http://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/releases/zn_poly-${version}.tar.gz";
+    sha256 = "1kxl25av7i3v68k32hw5bayrfcvmahmqvs97mlh9g238gj4qb851";
+  };
+
+  buildInputs = [
+    gmp
+  ];
+
+  nativeBuildInputs = [
+    python2 # needed by ./configure to create the makefile
+  ];
+
+  libname = "libzn_poly${stdenv.targetPlatform.extensions.sharedLibrary}";
+
+  makeFlags = [ "CC=cc" ];
+
+  # Tuning (either autotuning or with hand-written paramters) is possible
+  # but not implemented here.
+  # It seems buggy anyways (see homepage).
+  buildFlags = [ "all" libname ];
+
+
+  # `make install` fails to install some header files and the lib file.
+  installPhase = ''
+    mkdir -p "$out/include/zn_poly"
+    mkdir -p "$out/lib"
+    cp "${libname}" "$out/lib"
+    cp include/*.h "$out/include/zn_poly"
+  '';
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://web.maths.unsw.edu.au/~davidharvey/code/zn_poly/;
+    description = "Polynomial arithmetic over Z/nZ";
+    license = with licenses; [ gpl3 ];
+    maintainers = with maintainers; [ timokau ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/science/networking/ns3/default.nix b/pkgs/development/libraries/science/networking/ns3/default.nix
new file mode 100644
index 0000000000000..632380328db16
--- /dev/null
+++ b/pkgs/development/libraries/science/networking/ns3/default.nix
@@ -0,0 +1,100 @@
+{ stdenv
+, fetchFromGitHub
+, python
+
+# for binding generation
+, castxml ? null
+
+# can take a long time, generates > 30000 images/graphs
+, enableDoxygen ? false
+
+# e.g. "optimized" or "debug". If not set, use default one
+, build_profile ? null
+
+# --enable-examples
+, withExamples ? false
+
+# very long
+, withManual ? false, doxygen ? null, graphviz ? null, imagemagick ? null
+# for manual, tetex is used to get the eps2pdf binary
+# texlive to get latexmk. building manual still fails though
+, dia, tetex ? null, ghostscript ? null, texlive ? null
+
+# generates python bindings
+, generateBindings ? false, ncurses ? null
+
+# All modules can be enabled by choosing 'all_modules'.
+# we include here the DCE mandatory ones
+, modules ? [ "core" "network" "internet" "point-to-point" "fd-net-device" "netanim"]
+, gcc6
+, lib
+}:
+
+let
+  pythonEnv = python.withPackages(ps:
+    stdenv.lib.optional withManual ps.sphinx
+    ++ stdenv.lib.optionals generateBindings (with ps;[ pybindgen pygccxml ])
+  );
+in
+stdenv.mkDerivation rec {
+
+  name = "ns-3.${version}";
+  version = "28";
+
+  # the all in one https://www.nsnam.org/release/ns-allinone-3.27.tar.bz2;
+  # fetches everything (netanim, etc), this package focuses on ns3-core
+  src = fetchFromGitHub {
+    owner  = "nsnam";
+    repo   = "ns-3-dev-git";
+    rev    = name;
+    sha256 = "17kzfjpgw2mvyx1c9bxccnvw67jpk09fxmcnlkqx9xisk10qnhng";
+  };
+
+  # ncurses is a hidden dependency of waf when checking python
+  buildInputs = lib.optionals generateBindings [ castxml ncurses ]
+    ++ stdenv.lib.optional enableDoxygen [ doxygen graphviz imagemagick ]
+    ++ stdenv.lib.optional withManual [ dia tetex ghostscript texlive.combined.scheme-medium ];
+
+  propagatedBuildInputs = [ gcc6 pythonEnv ];
+
+  postPatch = ''
+    patchShebangs ./waf
+    patchShebangs doc/ns3_html_theme/get_version.sh
+  '';
+
+  configureScript = "${python.interpreter} ./waf configure";
+
+  configureFlags = with stdenv.lib; [
+      "--enable-modules=${stdenv.lib.concatStringsSep "," modules}"
+      "--with-python=${pythonEnv.interpreter}"
+  ]
+  ++ optional (build_profile != null) "--build-profile=${build_profile}"
+  ++ optional generateBindings [  ]
+  ++ optional withExamples " --enable-examples "
+  ++ optional doCheck " --enable-tests "
+  ;
+
+  postBuild = with stdenv.lib; let flags = concatStringsSep ";" (
+      optional enableDoxygen "./waf doxygen"
+      ++ optional withManual "./waf sphinx"
+    );
+    in "${flags}"
+  ;
+
+  doCheck = true;
+
+  # we need to specify the proper interpreter else ns3 can check against a
+  # different version even though we
+  checkPhase =  ''
+    ${pythonEnv.interpreter} ./test.py
+  '';
+
+  hardeningDisable = [ "fortify" ];
+
+  meta = {
+    homepage = http://www.nsnam.org;
+    license = stdenv.lib.licenses.gpl3;
+    description = "A discrete time event network simulator";
+    platforms = with stdenv.lib.platforms; unix;
+  };
+}
diff --git a/pkgs/development/libraries/scriptaculous/default.nix b/pkgs/development/libraries/scriptaculous/default.nix
new file mode 100644
index 0000000000000..ba291dc97ff22
--- /dev/null
+++ b/pkgs/development/libraries/scriptaculous/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, unzip, ... }: stdenv.mkDerivation rec {
+  name = "scriptaculous-${version}";
+  version = "1.9.0";
+
+  src = fetchurl {
+    url = "https://script.aculo.us/dist/scriptaculous-js-${version}.zip";
+    sha256 = "1xpnk3cq8n07lxd69k5jxh48s21zh41ihq10z4a6lcnk238rp8qz";
+  };
+
+  nativeBuildInputs = [ unzip ];
+
+  installPhase = ''
+    mkdir $out
+    cp src/*.js $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A set of JavaScript libraries to enhance the user interface of web sites";
+    longDescription = ''
+      script.aculo.us provides you with
+      easy-to-use, cross-browser user
+      interface JavaScript libraries to make
+      your web sites and web applications fly.
+    '';
+    homepage = https://script.aculo.us/;
+    downloadPage = https://script.aculo.us/dist/;
+    license = licenses.mit;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/development/libraries/serd/default.nix b/pkgs/development/libraries/serd/default.nix
index 96449a8ed9625..67e0ff31c8e57 100644
--- a/pkgs/development/libraries/serd/default.nix
+++ b/pkgs/development/libraries/serd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "serd-${version}";
-  version = "0.28.0";
+  version = "0.30.0";
 
   src = fetchurl {
-    url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "1v4ai4zyj1q3255nghicns9817jkwb3bh60ssprsjmnjfj41mwhx";
+    url = "https://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "1yyfyvc6kwagi5w43ljp1bbjdvdpmgpds74lmjxycm91bkx0xyvf";
   };
 
   nativeBuildInputs = [ pkgconfig python ];
diff --git a/pkgs/development/libraries/serf/default.nix b/pkgs/development/libraries/serf/default.nix
index 81dff49571dab..f794c3841b932 100644
--- a/pkgs/development/libraries/serf/default.nix
+++ b/pkgs/development/libraries/serf/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, apr, scons, openssl, aprutil, zlib, kerberos
-, pkgconfig, gnused, expat, openldap, libiconv }:
+, pkgconfig, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "serf-1.3.9";
@@ -13,35 +13,32 @@ stdenv.mkDerivation rec {
   buildInputs = [ apr scons openssl aprutil zlib libiconv ]
     ++ stdenv.lib.optional (!stdenv.isCygwin) kerberos;
 
-  postPatch = ''
-    sed -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"PATH":os.environ["PATH"]})' \
-        -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_CFLAGS_COMPILE":os.environ["NIX_CFLAGS_COMPILE"]})' \
-        -e '/^env[.]Append(BUILDERS/ienv.Append(ENV={"NIX_LDFLAGS":os.environ["NIX_LDFLAGS"]})' \
-        -e 's,$OPENSSL/lib,${openssl.out}/lib,' \
-        -e 's,$OPENSSL/include,${openssl.dev}/include,' \
-      -i SConstruct
-  '';
+  patches = [ ./scons.patch ];
 
   buildPhase = ''
-    scons PREFIX="$out" OPENSSL="${openssl}" ZLIB="${zlib}" APR="$(echo "${apr.dev}"/bin/*-config)" CFLAGS="-I${zlib.dev}/include" \
-      LINKFLAGS="-L${zlib.out}/lib -L${expat}/lib -L${openldap}/lib -L${libiconv}/lib" \
-        APU="$(echo "${aprutil.dev}"/bin/*-config)" CC="${
-          if stdenv.cc.isClang then "clang" else "${stdenv.cc}/bin/gcc"
-        }" ${
-          if (stdenv.isDarwin || stdenv.isCygwin) then "" else "GSSAPI=\"${kerberos.dev}\""
-        }
+    scons \
+      -j $NIX_BUILD_CORES \
+      APR="$(echo ${apr.dev}/bin/*-config)" \
+      APU="$(echo ${aprutil.dev}/bin/*-config)" \
+      CC=$CC \
+      OPENSSL=${openssl} \
+      PREFIX="$out" \
+      ZLIB=${zlib} \
+      ${
+        if stdenv.isCygwin then "" else "GSSAPI=${kerberos.dev}"
+      }
   '';
 
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-L/usr/lib";
-
   installPhase = ''
     scons install
   '';
 
-  meta = {
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     description = "HTTP client library based on APR";
-    license = stdenv.lib.licenses.asl20;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ orivej raskin ];
+    platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/serf/scons.patch b/pkgs/development/libraries/serf/scons.patch
new file mode 100644
index 0000000000000..a7eefe7d5c1fd
--- /dev/null
+++ b/pkgs/development/libraries/serf/scons.patch
@@ -0,0 +1,12 @@
+diff --git a/SConstruct b/SConstruct
+index 4358a23..0d862e7 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -155,6 +155,7 @@ if sys.platform == 'win32':
+ env = Environment(variables=opts,
+                   tools=('default', 'textfile',),
+                   CPPPATH=['.', ],
++                  ENV=os.environ,
+                   )
+ 
+ env.Append(BUILDERS = {
diff --git a/pkgs/development/libraries/sfml/default.nix b/pkgs/development/libraries/sfml/default.nix
index d34280c162468..03a801a324059 100644
--- a/pkgs/development/libraries/sfml/default.nix
+++ b/pkgs/development/libraries/sfml/default.nix
@@ -1,21 +1,26 @@
 { stdenv, fetchurl, cmake, libX11, freetype, libjpeg, openal, flac, libvorbis
 , glew, libXrandr, libXrender, udev, xcbutilimage
+, IOKit, Foundation, AppKit, OpenAL
 }:
 
 let
-  version = "2.4.2";
+  version = "2.5.0";
 in
 
 stdenv.mkDerivation rec {
   name = "sfml-${version}";
   src = fetchurl {
     url = "https://github.com/SFML/SFML/archive/${version}.tar.gz";
-    sha256 = "cf268fb487e4048c85e5b2f53d62596854762c98cba1c1b61ccd91f78253ef4b";
+    sha256 = "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab";
   };
   buildInputs = [ cmake libX11 freetype libjpeg openal flac libvorbis glew
-                  libXrandr libXrender udev xcbutilimage
-                ];
-  cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes" ];
+                  libXrandr libXrender xcbutilimage
+                ] ++ stdenv.lib.optional stdenv.isLinux udev
+                  ++ stdenv.lib.optionals stdenv.isDarwin [ IOKit Foundation AppKit OpenAL ];
+  cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes"
+                 "-DSFML_MISC_INSTALL_PREFIX=share/SFML"
+                 "-DSFML_BUILD_FRAMEWORKS=no"
+                 "-DSFML_USE_SYSTEM_DEPS=yes" ];
   meta = with stdenv.lib; {
     homepage = http://www.sfml-dev.org/;
     description = "Simple and fast multimedia library";
@@ -26,6 +31,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.zlib;
     maintainers = [ maintainers.astsmtl ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/shapelib/default.nix b/pkgs/development/libraries/shapelib/default.nix
index 3234d1bb89bfe..09d3efa64b2b5 100644
--- a/pkgs/development/libraries/shapelib/default.nix
+++ b/pkgs/development/libraries/shapelib/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "shapelib-1.4.1";
 
   src = fetchurl {
-    url = "http://download.osgeo.org/shapelib/${name}.tar.gz";
+    url = "https://download.osgeo.org/shapelib/${name}.tar.gz";
     sha256 = "1cr3b5jfglwisbyzj7fnxp9xysqad0fcmcqvqaja6qap6qblijd4";
   };
 
diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix
index a5dc1f41e9840..dc3f4a118f6da 100644
--- a/pkgs/development/libraries/silgraphite/graphite2.nix
+++ b/pkgs/development/libraries/silgraphite/graphite2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, freetype, cmake }:
+{ stdenv, fetchurl, pkgconfig, freetype, cmake, python }:
 
 stdenv.mkDerivation rec {
   version = "1.3.6";
@@ -10,11 +10,14 @@ stdenv.mkDerivation rec {
     sha256 = "0xdg6bc02bl8yz39l5i2skczfg17q4lif0qqan0dhvk0mibpcpj7";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ freetype cmake ];
+  nativeBuildInputs = [ pkgconfig cmake ];
+  buildInputs = [ freetype ];
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./macosx.patch ];
 
+  checkInputs = [ python ];
+  doCheck = false; # fails, probably missing something
+
   meta = {
     description = "An advanced font engine";
     maintainers = [ stdenv.lib.maintainers.raskin ];
diff --git a/pkgs/development/libraries/simpleitk/default.nix b/pkgs/development/libraries/simpleitk/default.nix
new file mode 100644
index 0000000000000..c807325b155cc
--- /dev/null
+++ b/pkgs/development/libraries/simpleitk/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchurl, cmake, git, swig, lua, itk }:
+
+stdenv.mkDerivation rec {
+  pname    = "simpleitk";
+  version = "1.1.0";
+  name  = "${pname}-${version}";
+
+  src = fetchurl {
+    url    = "https://sourceforge.net/projects/${pname}/files/SimpleITK/${version}/Source/SimpleITK-${version}.tar.gz";
+    sha256 = "01y8s73mw4yabqir2f8qp5zc1c0y6szi18rr4zwgsxz62g4drzgm";
+  };
+
+  nativeBuildInputs = [ cmake git swig ];
+  buildInputs = [ lua itk ];
+
+  cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" "-DCMAKE_CXX_FLAGS='-Wno-attributes'" ];
+
+  checkPhase = "ctest";
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.simpleitk.org;
+    description = "Simplified interface to ITK";
+    maintainers = with maintainers; [ bcdarwin ];
+    platforms = platforms.unix;
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index 29cc477a279dd..b3f5e12b0ecd5 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.6.0.1";
+  version = "2.6.4.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,18 +11,21 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/skalibs";
     rev = "refs/tags/v${version}";
-    sha256 = "0skdv3wff1i78hb0y771apw0cak5rzxbwbh6l922snfm01z9k1ws";
+    sha256 = "13icrwxxb7k3cj37dl07h0apk6lwyrg1qrwjwh4l82i8f32bnjz2";
   };
 
+  outputs = [ "lib" "dev" "doc" "out" ];
+
   dontDisableStatic = true;
 
   enableParallelBuilding = true;
 
   configureFlags = [
     "--enable-force-devr"       # assume /dev/random works
-    "--libdir=\${prefix}/lib"
-    "--includedir=\${prefix}/include"
-    "--sysdepdir=\${prefix}/lib/skalibs/sysdeps"
+    "--libdir=\${lib}/lib"
+    "--dynlibdir=\${lib}/lib"
+    "--includedir=\${dev}/include"
+    "--sysdepdir=\${lib}/lib/skalibs/sysdeps"
   ]
   ++ (if stdenv.isDarwin then [ "--disable-shared" ] else [ "--enable-shared" ])
   # On darwin, the target triplet from -dumpmachine includes version number, but
@@ -32,12 +35,17 @@ in stdenv.mkDerivation rec {
   # http://www.skarnet.org/cgi-bin/archive.cgi?1:mss:623:heiodchokfjdkonfhdph
   ++ (stdenv.lib.optional stdenv.isDarwin "--build=${stdenv.system}");
 
+  postInstall = ''
+    mkdir -p $doc/share/doc/skalibs
+    mv doc $doc/share/doc/skalibs/html
+  '';
+
   meta = {
     homepage = http://skarnet.org/software/skalibs/;
     description = "A set of general-purpose C programming libraries";
     platforms = stdenv.lib.platforms.all;
     license = stdenv.lib.licenses.isc;
-    maintainers = with stdenv.lib.maintainers; [ pmahoney ];
+    maintainers = with stdenv.lib.maintainers; [ pmahoney Profpatsch ];
   };
 
 }
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index 70e9d6181d92d..ec59ae0e819e5 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -1,10 +1,10 @@
 { stdenv, fetchurl, ncurses, pcre, libpng, zlib, readline, libiconv }:
 
 stdenv.mkDerivation rec {
-  name = "slang-2.3.1a";
+  name = "slang-2.3.2";
   src = fetchurl {
-    url = "http://www.jedsoft.org/releases/slang/${name}.tar.bz2";
-    sha256 = "0dlcy0hn0j6cj9qj5x6hpb0axifnvzzmv5jqq0wq14fygw0c7w2l";
+    url = "https://www.jedsoft.org/releases/slang/${name}.tar.bz2";
+    sha256 = "06p379fqn6w38rdpqi98irxi2bf4llb0rja3dlgkqz7nqh7kp7pw";
   };
 
   outputs = [ "out" "dev" "man" "doc" ];
@@ -16,10 +16,23 @@ stdenv.mkDerivation rec {
     sed -i -e "s|/bin/ln|ln|" src/Makefile.in
     sed -i -e "s|-ltermcap|-lncurses|" ./configure
   '';
-  configureFlags = "--with-png=${libpng.dev} --with-z=${zlib.dev} --with-pcre=${pcre.dev} --with-readline=${readline.dev}";
-  buildInputs = [ pcre libpng zlib readline ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ libiconv ];
+
+  configureFlags = [
+    "--with-png=${libpng.dev}"
+    "--with-z=${zlib.dev}"
+    "--with-pcre=${pcre.dev}"
+    "--with-readline=${readline.dev}"
+  ];
+
+  buildInputs = [
+    pcre libpng zlib readline
+  ] ++ stdenv.lib.optionals (stdenv.isDarwin) [ libiconv ];
+
   propagatedBuildInputs = [ ncurses ];
 
+  # slang 2.3.2 does not support parallel building
+  enableParallelBuilding = false;
+
   postInstall = ''
     find "$out"/lib/ -name '*.so' -exec chmod +x "{}" \;
     sed '/^Libs:/s/$/ -lncurses/' -i "$dev"/lib/pkgconfig/slang.pc
@@ -29,7 +42,7 @@ stdenv.mkDerivation rec {
     description = "A multi-platform programmer's library designed to allow a developer to create robust software";
     homepage = http://www.jedsoft.org/slang/;
     license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fuuzetsu ];
     platforms = platforms.unix;
-    maintainers = [ maintainers.fuuzetsu ];
   };
 }
diff --git a/pkgs/development/libraries/slib/default.nix b/pkgs/development/libraries/slib/default.nix
index 5ab681b21b282..665f025ffcf3c 100644
--- a/pkgs/development/libraries/slib/default.nix
+++ b/pkgs/development/libraries/slib/default.nix
@@ -1,28 +1,18 @@
 { fetchurl, stdenv, unzip, scheme, texinfo }:
 
 stdenv.mkDerivation rec {
-  name = "slib-3b2";
+  name = "slib-3b5";
 
   src = fetchurl {
-    url = "http://groups.csail.mit.edu/mac/ftpdir/scm/${name}.zip";
-    sha256 = "1s6a7f3ha2bhwj4nkg34n0j511ww1nlgrn5xis8k53l8ghdrrjxi";
+    url = "https://groups.csail.mit.edu/mac/ftpdir/scm/${name}.zip";
+    sha256 = "0q0p2d53p8qw2592yknzgy2y1p5a9k7ppjx0cfrbvk6242c4mdpq";
   };
 
   patches = [ ./catalog-in-library-vicinity.patch ];
 
   buildInputs = [ unzip scheme texinfo ];
 
-  configurePhase = ''
-    mkdir -p "$out"
-    sed -i "Makefile" \
-        -e "s|^[[:blank:]]*prefix[[:blank:]]*=.*$|prefix = $out/|g"
-  '';
-
-  buildPhase = "make infoz";
-
-  installPhase = ''
-    make install
-
+  postInstall = ''
     ln -s mklibcat{.scm,}
     SCHEME_LIBRARY_PATH="$out/lib/slib" make catalogs
 
diff --git a/pkgs/development/libraries/smarty3-i18n/default.nix b/pkgs/development/libraries/smarty3-i18n/default.nix
new file mode 100644
index 0000000000000..941e75b8ba92d
--- /dev/null
+++ b/pkgs/development/libraries/smarty3-i18n/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
+  name = "smarty-i18n-${version}";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "kikimosha";
+    repo = "smarty3-i18n";
+    rev = "${version}";
+    sha256 = "0rjxq4wka73ayna3hb5dxc5pgc8bw8p5fy507yc6cv2pl4h4nji2";
+  };
+
+  installPhase = ''
+    mkdir $out
+    cp block.t.php $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "gettext for the smarty3 framework";
+    license = licenses.lgpl21;
+    homepage = https://github.com/kikimosha/smarty3-i18n;
+    maintainers = with maintainers; [ das_j ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/smarty3/default.nix b/pkgs/development/libraries/smarty3/default.nix
new file mode 100644
index 0000000000000..2fce5b3368f77
--- /dev/null
+++ b/pkgs/development/libraries/smarty3/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, ... }: stdenv.mkDerivation rec {
+  name = "smarty3-${version}";
+  version = "3.1.32";
+
+  src = fetchFromGitHub {
+    owner = "smarty-php";
+    repo = "smarty";
+    rev = "v${version}";
+    sha256 = "1rfa5pzr23db1bivpivljgmgpn99m6ksgli64kmii5cmpvxi00y2";
+  };
+
+  installPhase = ''
+    mkdir $out
+    cp -r libs/* $out
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Smarty 3 template engine";
+    longDescription = ''
+      Smarty is a template engine for PHP, facilitating the
+      separation of presentation (HTML/CSS) from application
+      logic. This implies that PHP code is application
+      logic, and is separated from the presentation.
+    '';
+    homepage = https://www.smarty.net;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ das_j ];
+  };
+}
diff --git a/pkgs/development/libraries/smpeg2/default.nix b/pkgs/development/libraries/smpeg2/default.nix
index 3207bdb3a7f27..9004378647173 100644
--- a/pkgs/development/libraries/smpeg2/default.nix
+++ b/pkgs/development/libraries/smpeg2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, darwin, fetchsvn, autoconf, automake, libtool, m4, pkgconfig, makeWrapper, SDL2 }:
+{ stdenv, darwin, fetchsvn, autoconf, automake, pkgconfig, makeWrapper, SDL2 }:
 
 stdenv.mkDerivation rec {
   name = "smpeg2-svn${version}";
diff --git a/pkgs/development/libraries/snack/default.nix b/pkgs/development/libraries/snack/default.nix
index 17195febe1335..acf10cc497c8d 100644
--- a/pkgs/development/libraries/snack/default.nix
+++ b/pkgs/development/libraries/snack/default.nix
@@ -6,11 +6,11 @@ stdenv.mkDerivation {
   name = "snack-2.2.10";
 
   src = fetchurl {
-    url = http://www.speech.kth.se/snack/dist/snack2.2.10.tar.gz;
+    url = https://www.speech.kth.se/snack/dist/snack2.2.10.tar.gz;
     sha256 = "07p89jv9qnjqkszws9sssq93ayvwpdnkcxrvyicbm4mb8x2pdzjb";
   };
 
-  configureFlags = "--with-tcl=${tcl}/lib --with-tk=${tk}/lib";
+  configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" ];
 
   postUnpack = ''sourceRoot="$sourceRoot/unix"'';
 
diff --git a/pkgs/development/libraries/soil/default.nix b/pkgs/development/libraries/soil/default.nix
new file mode 100644
index 0000000000000..6e30825cfb391
--- /dev/null
+++ b/pkgs/development/libraries/soil/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchurl, unzip, mesa_noglu, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "soil";
+
+  src = fetchurl {
+    url    = "http://www.lonesock.net/files/soil.zip";
+    sha256 = "00gpwp9dldzhsdhksjvmbhsd2ialraqbv6v6dpikdmpncj6mnc52";
+  };
+
+  buildInputs = [ unzip mesa_noglu libX11 ];
+  
+  sourceRoot = "Simple OpenGL Image Library/projects/makefile";
+  preBuild   = "mkdir obj";
+  preInstall = "mkdir -p $out/lib $out/include";
+  makeFlags  = [ "LOCAL=$(out)" ];
+
+  meta = {
+    description     = "Simple OpenGL Image Library";
+    longDescription = ''
+      SOIL is a tiny C library used primarily for uploading textures
+      into OpenGL.
+    '';
+    homepage  = https://www.lonesock.net/soil.html;
+    license   = stdenv.lib.licenses.publicDomain;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/sord/default.nix b/pkgs/development/libraries/sord/default.nix
index 995ac631580d3..465ec5b8fe8b2 100644
--- a/pkgs/development/libraries/sord/default.nix
+++ b/pkgs/development/libraries/sord/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "sord-${version}";
-  version = "0.16.0";
+  version = "0.16.2";
 
   src = fetchurl {
-    url = "http://download.drobilla.net/${name}.tar.bz2";
-    sha256 = "0nh3i867g9z4kdlnk82cg2kcw8r02qgifxvkycvzb4vfjv4v4g4x";
+    url = "https://download.drobilla.net/${name}.tar.bz2";
+    sha256 = "13fshxwpipjrvsah1m2jw1kf022z2q5vpw24bzcznglgvms13x89";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/soundtouch/default.nix b/pkgs/development/libraries/soundtouch/default.nix
index c338d6762a4d3..95a97f30b6e62 100644
--- a/pkgs/development/libraries/soundtouch/default.nix
+++ b/pkgs/development/libraries/soundtouch/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   pName = "soundtouch";
   name = "${pName}-2.0.0";
   src = fetchurl {
-    url = "http://www.surina.net/soundtouch/${name}.tar.gz";
+    url = "https://www.surina.net/soundtouch/${name}.tar.gz";
     sha256 = "09cxr02mfyj2bg731bj0i9hh565x8l9p91aclxs8wpqv8b8zf96j";
   };
 
diff --git a/pkgs/development/libraries/soxt/default.nix b/pkgs/development/libraries/soxt/default.nix
new file mode 100644
index 0000000000000..13f037960b082
--- /dev/null
+++ b/pkgs/development/libraries/soxt/default.nix
@@ -0,0 +1,21 @@
+{ fetchurl, stdenv, coin3d, motif, xlibsWrapper, libGLU_combined }:
+
+stdenv.mkDerivation rec {
+  name = "soxt-${version}";
+  version = "1.3.0";
+
+  src = fetchurl {
+    url = "https://bitbucket.org/Coin3D/coin/downloads/SoXt-${version}.tar.gz";
+    sha256= "f5443aadafe8e2222b9b5a23d1f228bb0f3e7d98949b8ea8676171b7ea5bf013";
+  };
+
+  buildInputs = [ coin3d motif xlibsWrapper libGLU_combined ];
+
+  meta = with stdenv.lib; {
+    homepage = http://www.coin3d.org/;
+    license = licenses.bsd3;
+    description = "A GUI binding for using Open Inventor with Xt/Motif";
+    maintainers = with maintainers; [ tmplt ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/spandsp/default.nix b/pkgs/development/libraries/spandsp/default.nix
index ea3013c78bcbe..be2fc503e3900 100644
--- a/pkgs/development/libraries/spandsp/default.nix
+++ b/pkgs/development/libraries/spandsp/default.nix
@@ -3,7 +3,7 @@ stdenv.mkDerivation rec {
   version = "0.0.6";
   name = "spandsp-${version}";
   src=fetchurl {
-    url = "http://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
+    url = "https://www.soft-switch.org/downloads/spandsp/spandsp-${version}.tar.gz";
     sha256 = "0rclrkyspzk575v8fslzjpgp4y2s4x7xk3r55ycvpi4agv33l1fc";
   };
   buildInputs = [];
diff --git a/pkgs/development/libraries/spatialite-tools/default.nix b/pkgs/development/libraries/spatialite-tools/default.nix
index ff461f1b8e643..4ea7de0b1a38f 100644
--- a/pkgs/development/libraries/spatialite-tools/default.nix
+++ b/pkgs/development/libraries/spatialite-tools/default.nix
@@ -4,14 +4,14 @@ stdenv.mkDerivation rec {
   name = "spatialite-tools-4.1.1";
 
   src = fetchurl {
-    url = "http://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/${name}.tar.gz";
+    url = "https://www.gaia-gis.it/gaia-sins/spatialite-tools-sources/${name}.tar.gz";
     sha256 = "14aqmhvab63ydbb82fglsbig7jw1wmci8jjvci07aavdhvh1pyrv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ sqlite expat zlib proj geos libspatialite readosm ];
 
-  configureFlags = "--disable-freexl";
+  configureFlags = [ "--disable-freexl" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/spdk/default.nix b/pkgs/development/libraries/spdk/default.nix
new file mode 100644
index 0000000000000..14672c78d21cb
--- /dev/null
+++ b/pkgs/development/libraries/spdk/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, python, cunit, dpdk, libaio, libuuid, numactl, openssl }:
+
+stdenv.mkDerivation rec {
+  name = "spdk-${version}";
+  version = "18.04";
+
+  src = fetchFromGitHub {
+    owner = "spdk";
+    repo = "spdk";
+    rev = "v${version}";
+    sha256 = "07i13jkf63h5ld9djksxl445v1mj6m5cbq4xydix9y5qcxwlss3n";
+  };
+
+  nativeBuildInputs = [ python ];
+
+  buildInputs = [ cunit dpdk libaio libuuid numactl openssl ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  configureFlags = [ "--with-dpdk=${dpdk}" ];
+
+  NIX_CFLAGS_COMPILE = [ "-mssse3" ]; # Necessary to compile.
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "Set of libraries for fast user-mode storage";
+    homepage = http://www.spdk.io;
+    license = licenses.bsd3;
+    platforms =  [ "x86_64-linux" ];
+    maintainers = with maintainers; [ orivej ];
+  };
+}
diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix
index 22d66b7e71d1f..771ad033ed915 100644
--- a/pkgs/development/libraries/speech-tools/default.nix
+++ b/pkgs/development/libraries/speech-tools/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gawk, alsaLib, ncurses }:
+{ stdenv, fetchurl, alsaLib, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "speech_tools-${version}.0";
diff --git a/pkgs/development/libraries/speexdsp/default.nix b/pkgs/development/libraries/speexdsp/default.nix
index a96e808a97e47..c7f8787c1fda9 100644
--- a/pkgs/development/libraries/speexdsp/default.nix
+++ b/pkgs/development/libraries/speexdsp/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   ] ++ stdenv.lib.optional stdenv.isAarch64 "--disable-neon";
 
   meta = with stdenv.lib; {
-    homepage = http://www.speex.org/;
+    homepage = https://www.speex.org/;
     description = "An Open Source/Free Software patent-free audio compression format designed for speech";
     license = licenses.bsd3;
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index bedd4771253b0..f4f10978ec13d 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -2,7 +2,7 @@
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
 , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
 , withPolkit ? true, polkit, acl, usbutils
-, vala, gtk3, epoxy }:
+, vala, gtk3, epoxy, libdrm, gst_all_1, phodav, opusfile }:
 
 # If this package is built with polkit support (withPolkit=true),
 # usb redirection reqires spice-client-glib-usb-acl-helper to run setuid root.
@@ -30,13 +30,13 @@ with stdenv.lib;
 let
   inherit (python2Packages) python pygtk;
 in stdenv.mkDerivation rec {
-  name = "spice-gtk-0.34";
+  name = "spice-gtk-0.35";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
-    url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
-    sha256 = "1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9";
+    url = "https://www.spice-space.org/download/gtk/${name}.tar.bz2";
+    sha256 = "11lymg467gvj5ys8k22ihnfbxjn4x34ygyzirpg2nphjwlyhgrml";
   };
 
   postPatch = ''
@@ -46,18 +46,19 @@ in stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    spice-protocol celt_0_5_1 openssl libpulseaudio pixman
-    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy
+    spice-protocol celt_0_5_1 openssl libpulseaudio gst_all_1.gst-plugins-base pixman
+    libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy libdrm phodav opusfile
   ] ++ optionals withPolkit [ polkit acl usbutils ] ;
 
   nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook vala gobjectIntrospection ];
 
-  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "share/polkit-1/actions";
+  PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "$(out)/share/polkit-1/actions";
 
   configureFlags = [
     "--with-gtk3"
     "--enable-introspection"
     "--enable-vala"
+    "--enable-celt051"
   ];
 
   dontDisableStatic = true; # Needed by the coroutine test
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index 56adea9ca82e0..fc337f22b56fb 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "spice-protocol-0.12.13";
+  name = "spice-protocol-0.12.14";
 
   src = fetchurl {
-    url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "0cwrgkp558mblcf4vrhacb3iizz12khsrrl82w38w9nj0ar13vl9";
+    url = "https://www.spice-space.org/download/releases/${name}.tar.bz2";
+    sha256 = "170ckpgazvqv7hxy209myg67pqnd6c0gvr4ysbqgsfch6320nd90";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index 1ab76340cc7c5..ba3791a8a8bdb 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, pixman, celt, alsaLib
+{ stdenv, fetchurl, pkgconfig, pixman, celt, alsaLib
 , openssl, libXrandr, libXfixes, libXext, libXrender, libXinerama
 , libjpeg, zlib, spice-protocol, python, pyparsing, glib, cyrus_sasl
 , lz4 }:
@@ -6,32 +6,13 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "spice-0.13.3";
+  name = "spice-0.14.0";
 
   src = fetchurl {
-    url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "17mqgwamdhj8sx8vhahrjl5937x693kjnw6cp6v0akjrwz011xrh";
+    url = "https://www.spice-space.org/download/releases/${name}.tar.bz2";
+    sha256 = "0j5q7cp5p95jk8fp48gz76rz96lifimdsx1wnpmfal0nnnar9nrs";
   };
 
-  patches = [
-    # the following three patches fix CVE-2016-9577 and CVE-2016-9578
-    (fetchpatch {
-      name = "0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch";
-      url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0001-Prevent-possible-DoS-attempts-during-protocol-handsh.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
-      sha256 = "11x5566lx5zyl7f39glwsgpzkxb7hpcshx8va5ab3imrns07130q";
-    })
-    (fetchpatch {
-      name = "0002-Prevent-integer-overflows-in-capability-checks.patch";
-      url = "http://src.fedoraproject.org/cgit/rpms/spice.git/plain/0002-Prevent-integer-overflows-in-capability-checks.patch?id=d919d639ae5f83a9735a04d843eed675f9357c0d";
-      sha256 = "1r1bhq98w93cvvrlrz6jwdfsy261xl3xqs0ppchaa2igyxvxv5z5";
-    })
-    (fetchpatch {
-      name = "0003-main-channel-Prevent-overflow-reading-messages-from.patch";
-      url = "https://cgit.freedesktop.org/spice/spice/patch/?id=1d3e26c0ee75712fa4bbbcfa09d8d5866b66c8af";
-      sha256 = "030mm551aipck99rqiz39vsvk071pn8715zynr5j6chwzgpflwm3";
-    })
-  ];
-
   buildInputs = [ pixman celt alsaLib openssl libjpeg zlib
                   libXrandr libXfixes libXrender libXext libXinerama
                   python pyparsing glib cyrus_sasl lz4 ];
diff --git a/pkgs/development/libraries/sqlcipher/default.nix b/pkgs/development/libraries/sqlcipher/default.nix
index ed19814be34af..fbf7d8df53e37 100644
--- a/pkgs/development/libraries/sqlcipher/default.nix
+++ b/pkgs/development/libraries/sqlcipher/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
   CFLAGS = [ "-DSQLITE_ENABLE_COLUMN_METADATA=1" "-DSQLITE_SECURE_DELETE=1" "-DSQLITE_ENABLE_UNLOCK_NOTIFY=1" "-DSQLITE_HAS_CODEC" ];
   LDFLAGS = lib.optional (readline != null) "-lncurses";
 
+  doCheck = false; # fails. requires tcl?
+
   meta = with stdenv.lib; {
     homepage = http://sqlcipher.net/;
     description = "Full Database Encryption for SQLite";
diff --git a/pkgs/development/libraries/sqlite/analyzer.nix b/pkgs/development/libraries/sqlite/analyzer.nix
new file mode 100644
index 0000000000000..5b68b4901f9ac
--- /dev/null
+++ b/pkgs/development/libraries/sqlite/analyzer.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchurl, unzip, sqlite, tcl }:
+
+let
+  archiveVersion = import ./archive-version.nix stdenv.lib;
+in
+
+stdenv.mkDerivation rec {
+  name = "sqlite-analyzer-${version}";
+  version = "3.24.0";
+
+  src = assert version == sqlite.version; fetchurl {
+    url = "https://sqlite.org/2018/sqlite-src-${archiveVersion version}.zip";
+    sha256 = "19ck2sg13i6ga5vapxak42jn6050vpfid0zrmah7jh32mksh58vj";
+  };
+
+  nativeBuildInputs = [ unzip ];
+  buildInputs = [ tcl ];
+
+  makeFlags = [ "sqlite3_analyzer" ];
+
+  installPhase = "install -Dt $out/bin sqlite3_analyzer";
+
+  meta = with stdenv.lib; {
+    description = "A tool that shows statistics about SQLite databases";
+    downloadPage = http://sqlite.org/download.html;
+    homepage = http://www.sqlite.org;
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ pesterhazy ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/sqlite/archive-version.nix b/pkgs/development/libraries/sqlite/archive-version.nix
new file mode 100644
index 0000000000000..1f312ecef23a7
--- /dev/null
+++ b/pkgs/development/libraries/sqlite/archive-version.nix
@@ -0,0 +1,11 @@
+lib: version:
+
+with lib;
+  
+let
+  fragments = splitString "." version;
+  major = head fragments;
+  minor = concatMapStrings (fixedWidthNumber 2) (tail fragments);
+in
+
+major + minor + "00"
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index b8b7d0c701dda..166ea39493bf6 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -1,21 +1,29 @@
-{ lib, stdenv, fetchurl, interactive ? false, readline ? null, ncurses ? null }:
+{ stdenv, fetchurl, zlib, interactive ? false, readline ? null, ncurses ? null }:
 
 assert interactive -> readline != null && ncurses != null;
 
-stdenv.mkDerivation {
-  name = "sqlite-3.22.0";
+with stdenv.lib;
 
+let
+  archiveVersion = import ./archive-version.nix stdenv.lib;
+in
+
+stdenv.mkDerivation rec {
+  name = "sqlite-${version}";
+  version = "3.24.0";
+
+  # NB! Make sure to update analyzer.nix src (in the same directory).
   src = fetchurl {
-    url = "http://sqlite.org/2018/sqlite-autoconf-3220000.tar.gz";
-    sha256 = "04n6hnw2g818d7r92cp2608kd5mhzyysy83k29kbq1mp709an918";
+    url = "https://sqlite.org/2018/sqlite-autoconf-${archiveVersion version}.tar.gz";
+    sha256 = "0jmprv2vpggzhy7ma4ynmv1jzn3pfiwzkld0kkg6hvgvqs44xlfr";
   };
 
   outputs = [ "bin" "dev" "out" ];
   separateDebugInfo = stdenv.isLinux;
 
-  buildInputs = lib.optionals interactive [ readline ncurses ];
+  buildInputs = [ zlib ] ++ optionals interactive [ readline ncurses ];
 
-  configureFlags = [ "--enable-threadsafe" ] ++ lib.optional interactive "--enable-readline";
+  configureFlags = [ "--enable-threadsafe" ] ++ optional interactive "--enable-readline";
 
   NIX_CFLAGS_COMPILE = [
     "-DSQLITE_ENABLE_COLUMN_METADATA"
@@ -58,10 +66,19 @@ stdenv.mkDerivation {
     echo ""
   '';
 
+  postInstall = ''
+    # Do not contaminate dependent libtool-based projects with sqlite dependencies.
+    sed -i $out/lib/libsqlite3.la -e "s/dependency_libs=.*/dependency_libs='''/"
+  '';
+
+  doCheck = false; # fails to link against tcl
+
   meta = {
-    homepage = http://www.sqlite.org/;
     description = "A self-contained, serverless, zero-configuration, transactional SQL database engine";
-    platforms = stdenv.lib.platforms.unix;
-    maintainers = with stdenv.lib.maintainers; [ eelco np ];
+    downloadPage = http://sqlite.org/download.html;
+    homepage = http://www.sqlite.org/;
+    license = licenses.publicDomain;
+    maintainers = with maintainers; [ eelco np ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/sqlite/sqlar.nix b/pkgs/development/libraries/sqlite/sqlar.nix
new file mode 100644
index 0000000000000..e5d322330e8e9
--- /dev/null
+++ b/pkgs/development/libraries/sqlite/sqlar.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchurl, fuse, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "sqlar-${version}";
+  version = "2018-01-07";
+
+  src = fetchurl {
+    url = "https://www.sqlite.org/sqlar/tarball/4824e73896/sqlar-src-4824e73896.tar.gz";
+    sha256 = "09pikkbp93gqypn3da9zi0dzc47jyypkwc9vnmfzhmw7kpyv8nm9";
+  };
+
+  buildInputs = [ fuse zlib ];
+
+  buildFlags = [ "sqlar" "sqlarfs" ];
+
+  installPhase = ''
+    install -D -t $out/bin sqlar sqlarfs
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://sqlite.org/sqlar;
+    description = "SQLite Archive utilities";
+    license = licenses.bsd2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix b/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
deleted file mode 100644
index 1feedb94c1583..0000000000000
--- a/pkgs/development/libraries/sqlite/sqlite3_analyzer.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, unzip, tcl }:
-
-stdenv.mkDerivation {
-  name = "sqlite3_analyzer-3.22.0";
-
-  src = fetchurl {
-    url = "https://www.sqlite.org/2018/sqlite-src-3220000.zip";
-    sha256 = "04w97jj1659vl84rr73wg1mhj6by8r5075rzpn2xp42n537a7ibv";
-  };
-
-  nativeBuildInputs = [ unzip ];
-  buildInputs = [ tcl ];
-
-  makeFlags = [ "sqlite3_analyzer" ];
-
-  installPhase = ''
-    install -Dm755 sqlite3_analyzer \
-      "$out/bin/sqlite3_analyzer"
-  '';
-
-  meta = with stdenv.lib; {
-    homepage = http://www.sqlite.org/;
-    description = "A tool that shows statistics about sqlite databases";
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ pesterhazy ];
-  };
-}
diff --git a/pkgs/development/libraries/srtp/default.nix b/pkgs/development/libraries/srtp/default.nix
index d4ea531f886e9..c9073fc0b7e77 100644
--- a/pkgs/development/libraries/srtp/default.nix
+++ b/pkgs/development/libraries/srtp/default.nix
@@ -5,13 +5,13 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libsrtp-${version}";
-  version = "1.5.4";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "cisco";
     repo = "libsrtp";
     rev = "v${version}";
-    sha256 = "0s029m4iw0nsvnsm2hlz8yajrasdvf315iv2dw8mfm7nhbshwsqa";
+    sha256 = "1ac7xs1djb03j131f1gmqyfmrplblid9qqyxahs0shdy707r5ll6";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/startup-notification/default.nix b/pkgs/development/libraries/startup-notification/default.nix
index ce4fca6da70dc..fc771a493b6d2 100644
--- a/pkgs/development/libraries/startup-notification/default.nix
+++ b/pkgs/development/libraries/startup-notification/default.nix
@@ -6,7 +6,7 @@ in
 stdenv.mkDerivation {
   name = "libstartup-notification-${version}";
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/startup-notification/releases/startup-notification-${version}.tar.gz";
+    url = "https://www.freedesktop.org/software/startup-notification/releases/startup-notification-${version}.tar.gz";
     sha256 = "3c391f7e930c583095045cd2d10eb73a64f085c7fde9d260f2652c7cb3cfbe4a";
   };
 
diff --git a/pkgs/development/libraries/stb/default.nix b/pkgs/development/libraries/stb/default.nix
new file mode 100644
index 0000000000000..4f36ac2ba1c75
--- /dev/null
+++ b/pkgs/development/libraries/stb/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "stb-${version}";
+  version = "20180211";
+
+  src = fetchFromGitHub {
+    owner = "nothings";
+    repo = "stb";
+    rev = "e6afb9cbae4064da8c3e69af3ff5c4629579c1d2";
+    sha256 = "079nsn9bnb8c0vfq26g5l53q6gzx19a5x9q2nb55mpcljxsgxnmf";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/include/stb
+    cp *.h $out/include/stb/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Single-file public domain libraries for C/C++";
+    homepage = https://github.com/nothings/stb;
+    license = licenses.publicDomain;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jfrankenau ];
+  };
+}
diff --git a/pkgs/development/libraries/stfl/default.nix b/pkgs/development/libraries/stfl/default.nix
index fd9ab5a2036d2..89261b665f509 100644
--- a/pkgs/development/libraries/stfl/default.nix
+++ b/pkgs/development/libraries/stfl/default.nix
@@ -13,8 +13,6 @@ stdenv.mkDerivation rec {
   buildPhase = ''
     sed -i s/gcc/cc/g Makefile
     sed -i s%ncursesw/ncurses.h%ncurses.h% stfl_internals.h
-  '' + stdenv.lib.optionalString (stdenv.hostPlatform.libc != "glibc") ''
-    sed -i 's/LDLIBS += -lncursesw/LDLIBS += -lncursesw -liconv/' Makefile
   '' + ( stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i s/-soname/-install_name/ Makefile
   '' ) + ''
@@ -36,4 +34,3 @@ stdenv.mkDerivation rec {
     platforms   = stdenv.lib.platforms.unix;
   };
 }
-
diff --git a/pkgs/development/libraries/strigi/default.nix b/pkgs/development/libraries/strigi/default.nix
index 362881a2f42bf..36768acd991ac 100644
--- a/pkgs/development/libraries/strigi/default.nix
+++ b/pkgs/development/libraries/strigi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake, qt4, perl, bzip2, libxml2, exiv2
-, clucene_core, fam, zlib, dbus_tools, pkgconfig
+, clucene_core, fam, zlib, dbus, pkgconfig
 }:
 
 stdenv.mkDerivation rec {
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "0.7.8";
 
   src = fetchurl {
-    url = "http://www.vandenoever.info/software/strigi/${name}.tar.bz2";
+    url = "https://www.vandenoever.info/software/strigi/${name}.tar.bz2";
     sha256 = "12grxzqwnvbyqw7q1gnz42lypadxmq89vk2qpxczmpmc4nk63r23";
   };
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   CLUCENE_HOME = clucene_core;
 
   buildInputs =
-    [ zlib bzip2 libxml2 qt4 exiv2 clucene_core fam dbus_tools ];
+    [ zlib bzip2 libxml2 qt4 exiv2 clucene_core fam dbus.out ];
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
 
diff --git a/pkgs/development/libraries/sundials/default.nix b/pkgs/development/libraries/sundials/default.nix
index 41f7267fdca95..fc9abdc24c7c4 100644
--- a/pkgs/development/libraries/sundials/default.nix
+++ b/pkgs/development/libraries/sundials/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
 
   pname = "sundials";
-  version = "3.1.0";
+  version = "3.1.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
   url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
-  sha256 = "0fnlrpj6qjamxahd70r4vsgv85kxbgh93gxqk5xzf9ln6a7jzm8q";
+  sha256 = "05p19y3vv0vi3nggrvy6ymqkvhab2dxncl044qj0xnaix2qmp658";
   };
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/swiften/default.nix b/pkgs/development/libraries/swiften/default.nix
index 272967fcb9969..1759258e6664f 100644
--- a/pkgs/development/libraries/swiften/default.nix
+++ b/pkgs/development/libraries/swiften/default.nix
@@ -1,14 +1,14 @@
 { stdenv, python, fetchurl, openssl, boost }:
 stdenv.mkDerivation rec {
   name    = "swiften-${version}";
-  version = "4.0";
+  version = "4.0.2";
 
   buildInputs           = [ python ];
   propagatedBuildInputs = [ openssl boost ];
 
   src = fetchurl {
-    url    = "http://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
-    sha256 = "06bk45hxqmny8z7x78ycrfrazq6xdzv5c28i8x0lgc85j03b5dsh";
+    url    = "https://swift.im/downloads/releases/swift-${version}/swift-${version}.tar.gz";
+    sha256 = "0w0aiszjd58ynxpacwcgf052zpmbpcym4dhci64vbfgch6wryz0w";
   };
   
   buildPhase = ''
diff --git a/pkgs/development/libraries/sword/default.nix b/pkgs/development/libraries/sword/default.nix
index 13497f7727f49..afb168d5aa2ab 100644
--- a/pkgs/development/libraries/sword/default.nix
+++ b/pkgs/development/libraries/sword/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "1.7.4";
 
   src = fetchurl {
-    url = "http://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
+    url = "https://www.crosswire.org/ftpmirror/pub/sword/source/v1.7/${name}.tar.gz";
     sha256 = "0g91kpfkwccvdikddffdbzd6glnp1gdvkx4vh04iyz10bb7shpcr";
   };
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  configureFlags = "--without-conf --enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable";
+  configureFlags = [ "--without-conf" "--enable-tests=no CXXFLAGS=-Wno-unused-but-set-variable" ];
 
   meta = with stdenv.lib; {
     description = "A software framework that allows research manipulation of Biblical texts";
diff --git a/pkgs/development/libraries/tachyon/darwin.patch b/pkgs/development/libraries/tachyon/darwin.patch
new file mode 100644
index 0000000000000..dbede586f073e
--- /dev/null
+++ b/pkgs/development/libraries/tachyon/darwin.patch
@@ -0,0 +1,31 @@
+diff --git a/unix/Make-arch b/unix/Make-arch
+index 08afb85..822c4fc 100644
+--- a/unix/Make-arch
++++ b/unix/Make-arch
+@@ -924,7 +924,7 @@ macosx-thr:
+ 	$(MAKE) all \
+ 	"ARCH = macosx-thr" \
+ 	"CC = cc" \
+-	"CFLAGS = -Os -ffast-math -DBsd -DTHR -F/System/Library/Frameworks $(MISCFLAGS)" \
++	"CFLAGS = -Os -ffast-math -DBsd -DTHR $(MISCFLAGS)" \
+ 	"AR = ar" \
+ 	"ARFLAGS = r" \
+ 	"STRIP = strip" \
+@@ -946,7 +946,7 @@ macosx-x86-thr:
+ 	$(MAKE) all \
+ 	"ARCH = macosx-x86-thr" \
+ 	"CC = cc" \
+-	"CFLAGS = -O2 -ffast-math -DBsd -DTHR -F/System/Library/Frameworks $(MISCFLAGS)" \
++	"CFLAGS = -O2 -ffast-math -DBsd -DTHR $(MISCFLAGS)" \
+ 	"AR = ar" \
+ 	"ARFLAGS = r" \
+ 	"STRIP = strip" \
+@@ -957,7 +957,7 @@ macosx-x86-thr-ogl:
+ 	$(MAKE) all \
+ 	"ARCH = macosx-x86-thr-ogl" \
+ 	"CC = cc" \
+-	"CFLAGS = -O2 -ffast-math -DBsd -DTHR -I/usr/X11R6/include -F/System/Library/Frameworks $(MISCFLAGS) -DUSEOPENGL" \
++	"CFLAGS = -O2 -ffast-math -DBsd -DTHR -I/usr/X11R6/include $(MISCFLAGS) -DUSEOPENGL" \
+ 	"AR = ar" \
+ 	"ARFLAGS = r" \
+ 	"STRIP = strip" \
diff --git a/pkgs/development/libraries/tachyon/default.nix b/pkgs/development/libraries/tachyon/default.nix
index e4a24279c9b4d..d5d12e44df0a8 100644
--- a/pkgs/development/libraries/tachyon/default.nix
+++ b/pkgs/development/libraries/tachyon/default.nix
@@ -1,4 +1,16 @@
-{stdenv, fetchurl}:
+{ stdenv
+, fetchurl
+, Carbon ? null
+, libjpeg ? null
+, libpng ? null
+, withJpegSupport ? true # support jpeg output
+, withPngSupport ? true # support png output
+}:
+
+assert withJpegSupport -> libjpeg != null;
+assert withPngSupport -> libpng != null;
+assert stdenv.isDarwin -> Carbon != null;
+
 stdenv.mkDerivation rec {
   name = "tachyon-${version}";
   version = "0.99b2";
@@ -6,12 +18,42 @@ stdenv.mkDerivation rec {
     url = "http://jedi.ks.uiuc.edu/~johns/tachyon/files/${version}/${name}.tar.gz";
     sha256 = "04m0bniszyg7ryknj8laj3rl5sspacw5nr45x59j2swcsxmdvn1v";
   };
-  buildInputs = [];
-  preBuild = "cd unix";
-  arch = if stdenv.system == "x86_64-linux" then "linux-64-thr" else
-         if stdenv.system == "i686-linux"   then "linux-thr"    else
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin [
+    Carbon
+  ] ++ stdenv.lib.optionals withJpegSupport [
+    libjpeg
+  ] ++ stdenv.lib.optionals withPngSupport [
+    libpng
+  ];
+  preBuild = ''
+    cd unix
+  '' + stdenv.lib.optionalString withJpegSupport ''
+    export USEJPEG=" -DUSEJPEG"
+    export JPEGLIB=" -ljpeg"
+  '' + stdenv.lib.optionalString withPngSupport ''
+    export USEPNG=" -DUSEPNG"
+    export PNGLIB=" -lpng -lz"
+  '';
+  arch = if stdenv.system == "x86_64-linux"   then "linux-64-thr"  else
+         if stdenv.system == "i686-linux"     then "linux-thr"     else
+         if stdenv.system == "aarch64-linux"  then "linux-arm-thr" else
+         if stdenv.system == "armv7l-linux"   then "linux-arm-thr" else
+         if stdenv.system == "x86_64-darwin"  then "macosx-thr"    else
+         if stdenv.system == "i686-darwin"    then "macosx-64-thr" else
+         if stdenv.system == "i686-cygwin"    then "win32"         else
+         if stdenv.system == "x86_64-freebsd" then "bsd"           else
+         if stdenv.system == "x686-freebsd"   then "bsd"           else
          throw "Don't know what arch to select for tachyon build";
   makeFlags = "${arch}";
+  patches = [
+    # Remove absolute paths in Make-config (and unset variables so they can be set in preBuild)
+    ./no-absolute-paths.patch
+    # Include new targets (like arm)
+    ./make-archs.patch
+  ] ++
+  # Ensure looks for nix-provided Carbon, not system frameworks
+  stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
+
   installPhase = ''
     cd ../compile/${arch}
     mkdir -p "$out"/{bin,lib,include,share/doc/tachyon,share/tachyon}
@@ -26,7 +68,7 @@ stdenv.mkDerivation rec {
     description = ''A Parallel / Multiprocessor Ray Tracing System'';
     license = stdenv.lib.licenses.bsd3;
     maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
+    platforms = with stdenv.lib.platforms; linux ++ cygwin ++ darwin;
     homepage = http://jedi.ks.uiuc.edu/~johns/tachyon/;
   };
 }
diff --git a/pkgs/development/libraries/tachyon/make-archs.patch b/pkgs/development/libraries/tachyon/make-archs.patch
new file mode 100644
index 0000000000000..cf83f8c8c31c2
--- /dev/null
+++ b/pkgs/development/libraries/tachyon/make-archs.patch
@@ -0,0 +1,37 @@
+diff --git a/unix/Make-arch b/unix/Make-arch
+index 08afb85..dbeb691 100644
+--- a/unix/Make-arch
++++ b/unix/Make-arch
+@@ -920,6 +920,15 @@ macosx:
+ 	"RANLIB = ranlib" \
+ 	"LIBS = -L. -ltachyon $(MISCLIB)"
+ 
++macosx-64:
++	$(MAKE) all \
++	"ARCH = macosx" \
++	"CFLAGS = -Os -m64 -ffast-math -DBsd $(MISCFLAGS)" \
++	"ARFLAGS = r" \
++	"STRIP = strip" \
++	"RANLIB = ranlib" \
++	"LIBS = -L. -ltachyon $(MISCLIB)"
++
+ macosx-thr:
+ 	$(MAKE) all \
+ 	"ARCH = macosx-thr" \
+@@ -1209,6 +1218,16 @@ linux-thr:
+ 	"RANLIB = ranlib" \
+ 	"LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread"
+ 
++# Linux Arm using gcc, with threads
++linux-arm-thr:
++	$(MAKE) all \
++	"ARCH = linux-arm-thr" \
++	"CFLAGS = -Wall -O3 -fomit-frame-pointer -ffast-math -DLinux -DTHR -D_REENTRANT $(MISCFLAGS)" \
++	"ARFLAGS = r" \
++	"STRIP = strip" \
++	"RANLIB = ranlib" \
++	"LIBS = -L. -ltachyon $(MISCLIB) -lm -lpthread"
++
+ # Linux x86 using gcc, threads, and OpenGL
+ linux-thr-ogl:
+ 	$(MAKE) all \
diff --git a/pkgs/development/libraries/tachyon/no-absolute-paths.patch b/pkgs/development/libraries/tachyon/no-absolute-paths.patch
new file mode 100644
index 0000000000000..faa3810fb5c6b
--- /dev/null
+++ b/pkgs/development/libraries/tachyon/no-absolute-paths.patch
@@ -0,0 +1,57 @@
+diff --git a/unix/Make-config b/unix/Make-config
+index ee4f388..c1d51d4 100644
+--- a/unix/Make-config
++++ b/unix/Make-config
+@@ -18,7 +18,7 @@
+ # Bourne Shell Configuration:
+ #   set SHELL=/bin/sh or wherever your bourne shell is
+ ##########################################################################
+-SHELL=/bin/sh
++# SHELL=/bin/sh
+ 
+ 
+ 
+@@ -30,7 +30,7 @@ SHELL=/bin/sh
+ 
+ # The following line should be set to -Ixxx where xxx is your X11 include path
+ # Sun puts X11 in /usr/openwin/xxx
+-X11INC= -I/usr/openwin/include
++# X11INC= -I/usr/openwin/include
+ 
+ # Others typically use /usr/X11 or /usr/X11R6
+ #X11INC= -I/usr/X11
+@@ -57,7 +57,7 @@ X11LIB= -lX11
+ ##########################################################################
+ 
+ # Standard MPICH installation location
+-MPIDIR=/usr/local/mpi
++# MPIDIR=/usr/local/mpi
+ 
+ # UMR CS Dept
+ #MPIDIR=/software/all/mpi
+@@ -108,9 +108,9 @@ MBOX=
+ #   http://www.ijg.org/files/
+ ##########################################################################
+ # Uncomment the following lines to disable JPEG support
+-USEJPEG=
+-JPEGINC=
+-JPEGLIB=
++# USEJPEG=
++# JPEGINC=
++# JPEGLIB=
+ 
+ # Uncomment the following lines to enable JPEG support
+ #USEJPEG= -DUSEJPEG
+@@ -128,9 +128,9 @@ JPEGLIB=
+ #   http://www.libpng.org/
+ ##########################################################################
+ # Uncomment the following lines to disable PNG support
+-USEPNG=
+-PNGINC=
+-PNGLIB=
++# USEPNG=
++# PNGINC=
++# PNGLIB=
+ 
+ # Uncomment the following lines to enable PNG support
+ #USEPNG= -DUSEPNG
diff --git a/pkgs/development/libraries/talloc/default.nix b/pkgs/development/libraries/talloc/default.nix
index 8b06e3f2e096c..77c3c6458ade0 100644
--- a/pkgs/development/libraries/talloc/default.nix
+++ b/pkgs/development/libraries/talloc/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "talloc-2.1.11";
+  name = "talloc-2.1.14";
 
   src = fetchurl {
     url = "mirror://samba/talloc/${name}.tar.gz";
-    sha256 = "1lzfxv2zjxap5snf9ydl1bqgjpz0kgkq7n644f8rkbx0arav77k3";
+    sha256 = "1kk76dyav41ip7ddbbf04yfydb4jvywzi2ps0z2vla56aqkn11di";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Hierarchical pool based memory allocator with destructors";
-    homepage = http://tdb.samba.org/;
+    homepage = https://tdb.samba.org/;
     license = licenses.gpl3;
     maintainers = with maintainers; [ wkennington ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/tbb/default.nix b/pkgs/development/libraries/tbb/default.nix
index 182fbb35d499e..a7b7f5243fb05 100644
--- a/pkgs/development/libraries/tbb/default.nix
+++ b/pkgs/development/libraries/tbb/default.nix
@@ -2,13 +2,13 @@
 
 with stdenv.lib; stdenv.mkDerivation rec {
   name = "tbb-${version}";
-  version = "2018_U1";
+  version = "2018_U5";
 
   src = fetchFromGitHub {
     owner = "01org";
     repo = "tbb";
     rev = version;
-    sha256 = "1lygz07va6hsv2vlx9zwz5d2n81rxsdhmh0pqxgj8n1bvb1rp0qw";
+    sha256 = "080df8h2whnly6n9pslpg07dc9vr0p45gqgy9qijpjvxkjwfkdkp";
   };
 
   makeFlags = concatStringsSep " " (
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index d372c61dbe28f..f6e4a04728288 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tdb-1.3.15";
+  name = "tdb-1.3.16";
 
   src = fetchurl {
     url = "mirror://samba/tdb/${name}.tar.gz";
-    sha256 = "0a37jhpij8wr4f4pjqdlwnffy2l6a2vkqdpz1bqxj6v06cwbz8dl";
+    sha256 = "1ibcz466xwk1x6xvzlgzd5va4lyrjzm3rnjak29kkwk7cmhw4gva";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
          uses locking internally to keep writers from trampling on each
          other.  TDB is also extremely small.
       '';
-    homepage = http://tdb.samba.org/;
+    homepage = https://tdb.samba.org/;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ wkennington ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/telepathy/farstream/default.nix b/pkgs/development/libraries/telepathy/farstream/default.nix
index 41308a7ef4ecb..fae51aea477e8 100644
--- a/pkgs/development/libraries/telepathy/farstream/default.nix
+++ b/pkgs/development/libraries/telepathy/farstream/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   pname = "telepathy-farstream";
 
   src = fetchurl {
-    url = "http://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
+    url = "https://telepathy.freedesktop.org/releases/${pname}/${name}.tar.gz";
     sha256 = "02ky12bb92prr5f6xmvmfq4yz2lj33li6nj4829a98hk5pr9k83g";
   };
 
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index df5c76abd7cdb..9ca2481c3b019 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   passthru.python = python2;
 
   meta = {
-    homepage = http://telepathy.freedesktop.org;
+    homepage = https://telepathy.freedesktop.org;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/telepathy/qt/default.nix b/pkgs/development/libraries/telepathy/qt/default.nix
index 90dd47c11e2f6..d14010c857e4b 100644
--- a/pkgs/development/libraries/telepathy/qt/default.nix
+++ b/pkgs/development/libraries/telepathy/qt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, qtbase, pkgconfig, python2Packages, dbus-glib, dbus_daemon
+{ stdenv, fetchurl, cmake, qtbase, pkgconfig, python2Packages, dbus-glib, dbus
 , telepathy-farstream, telepathy-glib, fetchpatch }:
 
 let
@@ -7,14 +7,14 @@ in stdenv.mkDerivation rec {
   name = "telepathy-qt-0.9.7";
 
   src = fetchurl {
-    url = "http://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
+    url = "https://telepathy.freedesktop.org/releases/telepathy-qt/${name}.tar.gz";
     sha256 = "0krxd4hhfx6r0ja19wh3848j7gn1rv8jrnakgmkbmi7bww5x7fi1";
   };
 
   nativeBuildInputs = [ cmake pkgconfig python ];
   propagatedBuildInputs = [ qtbase telepathy-farstream telepathy-glib ];
   buildInputs = [ dbus-glib ];
-  checkInputs = [ dbus_daemon dbus-python ];
+  checkInputs = [ dbus.daemon dbus-python ];
 
   patches = [
     # https://github.com/TelepathyIM/telepathy-qt/issues/25
diff --git a/pkgs/development/libraries/template-glib/default.nix b/pkgs/development/libraries/template-glib/default.nix
new file mode 100644
index 0000000000000..6ce02d588a97e
--- /dev/null
+++ b/pkgs/development/libraries/template-glib/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, flex, bison, vala, gettext, gnome3, gtk-doc, docbook_xsl, docbook_xml_dtd_43 }:
+let
+  version = "3.28.0";
+  pname = "template-glib";
+in
+stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  outputs = [ "out" "dev" "devdoc" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "18bic41f9cx8h6n5bz80z4ridb8c1h1yscicln8zsn23zmp44x3c";
+  };
+
+  buildInputs = [ meson ninja pkgconfig gettext flex bison vala glib gtk-doc docbook_xsl docbook_xml_dtd_43 ];
+  nativeBuildInputs = [ glib gobjectIntrospection ];
+
+  mesonFlags = [
+    "-Denable_gtk_doc=true"
+  ];
+
+  passthru = {
+    updateScript = gnome3.updateScript {
+      packageName = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "A library for template expansion which supports calling into GObject Introspection from templates";
+    homepage = https://gitlab.gnome.org/GNOME/template-glib;
+    license = licenses.lgpl21Plus;
+    maintainers = gnome3.maintainers;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/tepl/default.nix b/pkgs/development/libraries/tepl/default.nix
new file mode 100644
index 0000000000000..7501f9ab6f150
--- /dev/null
+++ b/pkgs/development/libraries/tepl/default.nix
@@ -0,0 +1,42 @@
+{ stdenv, fetchurl
+, amtk, gnome3, gtksourceview4, libuchardet, libxml2, pkgconfig }:
+let
+  version = "4.2.0";
+  pname = "tepl";
+in stdenv.mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "1kcwcr72dv3xwi2ni579c9raa0cnbazfnmy6mgapzn6dir1d8fc8";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+  ];
+
+  buildInputs = [
+    amtk
+    libxml2
+    gtksourceview4
+    libuchardet
+    gnome3.gtk
+  ];
+
+  doCheck = false;
+  # TODO: one test fails because of
+  # (./test-file-metadata:20931): Tepl-WARNING **: 14:41:36.942: GVfs metadata
+  # is not supported. Fallback to TeplMetadataManager. Either GVfs is not
+  # correctly installed or GVfs metadata are not supported on this platform. In
+  # the latter case, you should configure Tepl with --disable-gvfs-metadata.
+
+  passthru.updateScript = gnome3.updateScript { packageName = pname; };
+
+  meta = with stdenv.lib; {
+    homepage = https://wiki.gnome.org/Projects/Tepl;
+    description = "Text editor product line";
+    maintainers = [ maintainers.manveru ];
+    license = licenses.lgpl21Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/tevent/default.nix b/pkgs/development/libraries/tevent/default.nix
index 154db61894fa5..e43c626842404 100644
--- a/pkgs/development/libraries/tevent/default.nix
+++ b/pkgs/development/libraries/tevent/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "tevent-0.9.36";
+  name = "tevent-0.9.37";
 
   src = fetchurl {
     url = "mirror://samba/tevent/${name}.tar.gz";
-    sha256 = "0k1v4vnlzpf7h3p4khaw8a7damrc68g136bf2xzys08nzpinnaxx";
+    sha256 = "1q77vbjic2bb79li2a54ffscnrnwwww55fbpry2kgh7acpnlb0qn";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An event system based on the talloc memory management library";
-    homepage = http://tevent.samba.org/;
+    homepage = https://tevent.samba.org/;
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ wkennington ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index 45e5174ed5734..dee441a0c2f67 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
   version = "0.11.0";
 
   src = fetchurl {
-    url = "http://archive.apache.org/dist/thrift/${version}/${name}.tar.gz";
+    url = "https://archive.apache.org/dist/thrift/${version}/${name}.tar.gz";
     sha256 = "1hk0zb9289gf920rdl0clmwqx6kvygz92nj01lqrhd2arfv3ibf4";
   };
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
 
   # TODO: package boost-test, so we can run the test suite. (Currently it fails
   # to find libboost_unit_test_framework.a.)
-  configureFlags = "--enable-tests=no";
+  configureFlags = [ "--enable-tests=no" ];
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index aa134d3510448..24251cf0cc1d2 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, fetchpatch, stdenv, autoreconfHook, libkrb5 }:
+{ fetchurl, stdenv, autoreconfHook, libkrb5 }:
 
 stdenv.mkDerivation rec {
   name = "libtirpc-1.0.3";
@@ -8,14 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "0ppxl3k3nsz0qdakq844i2kj4fvh9h937lhx26bgmpmxq67sghw6";
   };
 
-  patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/openembedded/openembedded-core/2be873301420ec6ca2c70d899b7c49a7e2b0954d/meta/recipes-extended/libtirpc/libtirpc/0001-replace-__bzero-with-memset-API.patch";
-      sha256 = "1jmbn0j2bnjp0j9z5vzz5xiwyv3kd28w5pixbqsy2lz6q8nii7cf";
-    });
-
   postPatch = ''
     sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
+  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+    substituteInPlace tirpc/rpc/types.h \
+      --replace '#if defined __APPLE_CC__ || defined __FreeBSD__' \
+                '#if defined __APPLE_CC__ || defined __FreeBSD__ || !defined __GLIBC__'
   '';
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/tinyxml/2.6.2.nix b/pkgs/development/libraries/tinyxml/2.6.2.nix
index cc374345c2eb4..2ec9c57e2411d 100644
--- a/pkgs/development/libraries/tinyxml/2.6.2.nix
+++ b/pkgs/development/libraries/tinyxml/2.6.2.nix
@@ -21,8 +21,11 @@ in stdenv.mkDerivation {
     # Use CC, CXX, and LD from environment
     ./2.6.2-cxx.patch
   ];
+
   preConfigure = "export LD=${if stdenv.isDarwin then "clang++" else "g++"}";
 
+  hardeningDisable = [ "format" ];
+
   NIX_CFLAGS_COMPILE =
     stdenv.lib.optional stdenv.isDarwin "-mmacosx-version-min=10.9";
 
diff --git a/pkgs/development/libraries/tix/default.nix b/pkgs/development/libraries/tix/default.nix
index 7e18e7402273f..232c95e6257e2 100644
--- a/pkgs/development/libraries/tix/default.nix
+++ b/pkgs/development/libraries/tix/default.nix
@@ -34,13 +34,13 @@ stdenv.mkDerivation rec {
       ln -s $i private_headers/generic;
     done;
     '';
-  configureFlags = ''
-      --with-tclinclude=${tcl}/include
-      --with-tclconfig=.
-      --with-tkinclude=${tk.dev}/include
-      --with-tkconfig=.
-      --libdir=''${prefix}/lib
-    '';
+  configureFlags = [
+    "--with-tclinclude=${tcl}/include"
+    "--with-tclconfig=."
+    "--with-tkinclude=${tk.dev}/include"
+    "--with-tkconfig=."
+    "--libdir=\${prefix}/lib"
+  ];
 
   meta = with stdenv.lib; {
     description = "A widget library for Tcl/Tk";
diff --git a/pkgs/development/libraries/tk/8.5.nix b/pkgs/development/libraries/tk/8.5.nix
index c3396dcdad227..141f6da14ce49 100644
--- a/pkgs/development/libraries/tk/8.5.nix
+++ b/pkgs/development/libraries/tk/8.5.nix
@@ -8,4 +8,3 @@ callPackage ./generic.nix (args // rec {
   };
 
 })
-
diff --git a/pkgs/development/libraries/tk/8.6.nix b/pkgs/development/libraries/tk/8.6.nix
index 666332d45fb87..cd8d42faa9144 100644
--- a/pkgs/development/libraries/tk/8.6.nix
+++ b/pkgs/development/libraries/tk/8.6.nix
@@ -10,4 +10,3 @@ callPackage ./generic.nix (args // rec {
   patches = [ ./different-prefix-with-tcl.patch ] ++ stdenv.lib.optionals stdenv.isDarwin [ ./Fix-bad-install_name-for-libtk8.6.dylib.patch ];
 
 })
-
diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix
index 843c6157479e8..34024b23e270e 100644
--- a/pkgs/development/libraries/tk/generic.nix
+++ b/pkgs/development/libraries/tk/generic.nix
@@ -31,6 +31,8 @@ stdenv.mkDerivation {
 
   NIX_CFLAGS_LINK = if stdenv.isDarwin then "-lfontconfig" else null;
 
+  doCheck = false; # fails. can't find itself
+
   inherit tcl;
 
   passthru = rec {
diff --git a/pkgs/development/libraries/tntdb/default.nix b/pkgs/development/libraries/tntdb/default.nix
index 75a494cfbdede..9edfcc88f1640 100644
--- a/pkgs/development/libraries/tntdb/default.nix
+++ b/pkgs/development/libraries/tntdb/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, cxxtools, postgresql, mysql, sqlite, zlib, openssl }:
 
 stdenv.mkDerivation rec {
+  name = "tntdb-${version}";
   version = "1.3";
-  name = "tntdb";
+
   src = fetchurl {
-    url = "http://www.tntnet.org/download/tntdb-${version}.tar.gz";
+    url = "http://www.tntnet.org/download/${name}.tar.gz";
     sha256 = "0js79dbvkic30bzw1pf26m64vs2ssw2sbj55w1dc0sy69dlv4fh9";
   };
 
diff --git a/pkgs/development/libraries/tntnet/default.nix b/pkgs/development/libraries/tntnet/default.nix
index cd4ba34b33c64..aaff759525b64 100644
--- a/pkgs/development/libraries/tntnet/default.nix
+++ b/pkgs/development/libraries/tntnet/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl, cxxtools, zlib, openssl, zip }:
 
 stdenv.mkDerivation rec {
+  name = "tntnet-${version}";
   version = "2.2.1";
-  name = "tntnet";
+
   src = fetchurl {
-    url = "http://www.tntnet.org/download/tntnet-${version}.tar.gz";
+    url = "http://www.tntnet.org/download/${name}.tar.gz";
     sha256 = "08bmak9mpbamwwl3h9p8x5qzwqlm9g3jh70y0ml5hk7hiv870cf8";
   };
 
diff --git a/pkgs/development/libraries/tokyo-tyrant/default.nix b/pkgs/development/libraries/tokyo-tyrant/default.nix
index ccd619e8bc18f..7bf08a3560ae1 100644
--- a/pkgs/development/libraries/tokyo-tyrant/default.nix
+++ b/pkgs/development/libraries/tokyo-tyrant/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.lgpl21Plus;
 
-    platforms = stdenv.lib.platforms.gnu;         # arbitrary choice
+    platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;         # arbitrary choice
     maintainers = [ ];
   };
 }
diff --git a/pkgs/development/libraries/tre/default.nix b/pkgs/development/libraries/tre/default.nix
index 25d7849b1b4b7..901b6aa097fdb 100644
--- a/pkgs/development/libraries/tre/default.nix
+++ b/pkgs/development/libraries/tre/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "tre-0.8.0";
   src = fetchurl {
-    url = "http://laurikari.net/tre/${name}.tar.gz";
+    url = "https://laurikari.net/tre/${name}.tar.gz";
     sha256 = "1pd7qsa7vc3ybdc6h2gr4pm9inypjysf92kab945gg4qa6jp11my";
   };
 
@@ -16,5 +16,6 @@ stdenv.mkDerivation rec {
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
+    license = stdenv.lib.licenses.bsd2;
   };
 }
diff --git a/pkgs/development/libraries/twolame/default.nix b/pkgs/development/libraries/twolame/default.nix
index a65254fea24e2..a752da8cb57d0 100644
--- a/pkgs/development/libraries/twolame/default.nix
+++ b/pkgs/development/libraries/twolame/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ libsndfile ];
 
+  doCheck = false; # fails with "../build-scripts/test-driver: line 107: -Mstrict: command not found"
+
   meta = with stdenv.lib;{
     description = "A MP2 encoder";
     longDescription = ''
diff --git a/pkgs/development/libraries/ucl/default.nix b/pkgs/development/libraries/ucl/default.nix
index aa983b1394b1a..933a3afef35b5 100644
--- a/pkgs/development/libraries/ucl/default.nix
+++ b/pkgs/development/libraries/ucl/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "ucl-1.03";
   src = fetchurl {
-    url = http://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz;
+    url = https://www.oberhumer.com/opensource/ucl/download/ucl-1.03.tar.gz;
     sha256 = "b865299ffd45d73412293369c9754b07637680e5c826915f097577cd27350348";
   };
 
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 8665be26925e1..416cf53ab4963 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/commoncpp/;
     license = stdenv.lib.licenses.lgpl3Plus;
 
-    maintainers = with stdenv.lib.maintainers; [ viric ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/udunits/default.nix b/pkgs/development/libraries/udunits/default.nix
index b02ac8852371a..664bc29a72de3 100644
--- a/pkgs/development/libraries/udunits/default.nix
+++ b/pkgs/development/libraries/udunits/default.nix
@@ -1,22 +1,26 @@
-{ stdenv, fetchurl,
-  bison, flex, expat, file
+{ stdenv, fetchFromGitHub, autoreconfHook,
+  texinfo, bison, flex, expat, file
 }:
 
 stdenv.mkDerivation rec {
-    name = "udunits-2.2.26";
-    src = fetchurl {
-        url = "ftp://ftp.unidata.ucar.edu/pub/udunits/${name}.tar.gz";
-        sha256 = "0v9mqw4drnkzkm57331ail6yvs9485jmi37s40lhvmf7r5lli3rn";
-    };
+  name = "udunits-${version}";
+  version = "2.2.27.6";
+  
+  src = fetchFromGitHub {
+    owner = "Unidata";
+    repo = "UDUNITS-2";
+    rev = "v${version}";
+    sha256 = "0621pac24c842dyipzaa59rh6pza9phdqi3snd4cq4pib0wjw6gm";
+  };
 
-    nativeBuildInputs = [ bison flex file ];
-    buildInputs = [ expat ];
+  nativeBuildInputs = [ autoreconfHook texinfo bison flex file ];
+  buildInputs = [ expat ];
 
-    meta = with stdenv.lib; {
-      homepage = https://www.unidata.ucar.edu/software/udunits/;
-      description = "A C-based package for the programatic handling of units of physical quantities";
-      license = licenses.bsdOriginal;
-      platforms = platforms.linux;
-      maintainers = with maintainers; [ pSub ];
-    };
+  meta = with stdenv.lib; {
+    homepage = https://www.unidata.ucar.edu/software/udunits/;
+    description = "A C-based package for the programatic handling of units of physical quantities";
+    license = licenses.bsdOriginal;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pSub ];
+  };
 }
diff --git a/pkgs/development/libraries/umockdev/default.nix b/pkgs/development/libraries/umockdev/default.nix
index fb43af3624338..b89450b810b84 100644
--- a/pkgs/development/libraries/umockdev/default.nix
+++ b/pkgs/development/libraries/umockdev/default.nix
@@ -1,26 +1,34 @@
-{ stdenv, fetchFromGitHub, automake, autoconf, libtool, gtk-doc
+{ stdenv, fetchFromGitHub, autoreconfHook, umockdev, gobjectIntrospection
 , pkgconfig, glib, systemd, libgudev, vala }:
 
 stdenv.mkDerivation rec {
   name = "umockdev-${version}";
-  version = "0.11.2";
+  version = "0.11.3";
+
+  outputs = [ "bin" "out" "dev" "doc" ];
 
   src = fetchFromGitHub {
-    owner = "martinpitt";
-    repo = "umockdev";
-    rev = version;
-    sha256 ="1dvhs9nkznlnagzjny61fh574g42c47b9s5hxsqdgqb51njawdg1";
+    owner  = "martinpitt";
+    repo   = "umockdev";
+    rev    = version;
+    sha256 = "1z101yw7clxz39im3y435s3rj1gna3kp0fkj9wd62vxqvk68lhik";
   };
 
+  # autoreconfHook complains if we try to build the documentation
+  postPatch = ''
+    echo 'EXTRA_DIST =' > docs/gtk-doc.make
+  '';
+
   buildInputs = [ glib systemd libgudev ];
-  nativeBuildInputs = [ automake autoconf libtool gtk-doc pkgconfig vala ];
 
-  preConfigure = "NOCONFIGURE=1 ./autogen.sh";
+  nativeBuildInputs = [ autoreconfHook pkgconfig vala gobjectIntrospection ];
+
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     description = "Mock hardware devices for creating unit tests";
     license = licenses.lgpl2;
-    maintainers = [ maintainers.ndowens ];
+    maintainers = with maintainers; [ ndowens ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/unibilium/default.nix b/pkgs/development/libraries/unibilium/default.nix
index 7c92e7224f9ef..717edda18a2b5 100644
--- a/pkgs/development/libraries/unibilium/default.nix
+++ b/pkgs/development/libraries/unibilium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl }:
+{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl, ncurses }:
 
 stdenv.mkDerivation rec {
   name = "unibilium-${version}";
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     ++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
 
   nativeBuildInputs = [ pkgconfig perl ];
-  buildInputs = [ libtool ];
+  buildInputs = [ libtool ncurses ];
 
   meta = with lib; {
     description = "A very basic terminfo library";
diff --git a/pkgs/development/libraries/unicap/default.nix b/pkgs/development/libraries/unicap/default.nix
index 604a1b7012af3..1aa5e67170214 100644
--- a/pkgs/development/libraries/unicap/default.nix
+++ b/pkgs/development/libraries/unicap/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version="0.9.12";
 
   src = fetchurl {
-    url = "http://www.unicap-imaging.org/downloads/${name}.tar.gz";
+    url = "https://www.unicap-imaging.org/downloads/${name}.tar.gz";
     sha256 = "05zcnnm4dfc6idihfi0fq5xka6x86zi89wip2ca19yz768sd33s9";
   };
 
diff --git a/pkgs/development/libraries/unicorn-emu/default.nix b/pkgs/development/libraries/unicorn-emu/default.nix
index 9f9d8e62de506..aa4a7890b23ef 100644
--- a/pkgs/development/libraries/unicorn-emu/default.nix
+++ b/pkgs/development/libraries/unicorn-emu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, bash, pkgconfig, python }:
+{ stdenv, fetchurl, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name    = "unicorn-emulator-${version}";
diff --git a/pkgs/development/libraries/unixODBC/default.nix b/pkgs/development/libraries/unixODBC/default.nix
index ccd243e1f735b..1275df69f5968 100644
--- a/pkgs/development/libraries/unixODBC/default.nix
+++ b/pkgs/development/libraries/unixODBC/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "unixODBC-${version}";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchurl {
     url = "ftp://ftp.unixodbc.org/pub/unixODBC/${name}.tar.gz";
-    sha256 = "0sads5b8cmmj526gyjba7ccknl1vbhkslfqshv1yqln08zv3gdl8";
+    sha256 = "0xry3sg497wly8f7715a7gwkn2k36bcap0mvzjw74jj53yx6kwa5";
   };
 
   configureFlags = [ "--disable-gui" "--sysconfdir=/etc" ];
diff --git a/pkgs/development/libraries/unixODBCDrivers/default.nix b/pkgs/development/libraries/unixODBCDrivers/default.nix
index e7a2dee541d06..7d4c6c7a29947 100644
--- a/pkgs/development/libraries/unixODBCDrivers/default.nix
+++ b/pkgs/development/libraries/unixODBCDrivers/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql55, mariadb, sqlite, zlib, libxml2 }:
+{ fetchurl, stdenv, unixODBC, cmake, postgresql, mysql55, mariadb, sqlite, zlib, libxml2, dpkg, lib, openssl, kerberos, curl, libuuid, autoPatchelfHook }:
 
 # I haven't done any parameter tweaking.. So the defaults provided here might be bad
 
@@ -45,7 +45,7 @@
 
     passthru = {
       fancyName = "MariaDB";
-      driver = "lib/libmyodbc3-3.51.12.so";
+      driver = "lib/libmaodbc.so";
     };
 
     meta = with stdenv.lib; {
@@ -119,4 +119,45 @@
       maintainers = with maintainers; [ vlstill ];
     };
   };
+
+  msodbcsql17 = stdenv.mkDerivation rec {
+    name = "msodbcsql17-${version}";
+    version = "${versionMajor}.${versionMinor}.${versionAdditional}-1";
+
+    versionMajor = "17";
+    versionMinor = "2";
+    versionAdditional = "0.1";
+
+    src = fetchurl {
+      url = "https://packages.microsoft.com/debian/9/prod/pool/main/m/msodbcsql17/msodbcsql${versionMajor}_${version}_amd64.deb";
+      sha256 = "1966ymbbk0jsacqwzi3dmhxv2n8hfgnpjsx3hr3n7s9d88chgpx5";
+    };
+
+    nativeBuildInputs = [ autoPatchelfHook ];
+    buildInputs = [ unixODBC dpkg openssl kerberos curl libuuid stdenv.cc.cc ];
+
+    unpackPhase = "dpkg -x $src ./";
+    buildPhase = "";
+
+    installPhase = ''
+      mkdir -p $out
+      mkdir -p $out/lib
+      ln -s ${lib.getLib openssl}/lib/libssl.so.1.0.0 $out/lib/libssl.so.1.0.2
+      ln -s ${lib.getLib openssl}/lib/libcrypto.so.1.0.0 $out/lib/libcrypto.so.1.0.2
+      cp -r opt/microsoft/msodbcsql${versionMajor}/lib64 opt/microsoft/msodbcsql${versionMajor}/share $out/
+    '';
+
+    passthru = {
+      fancyName = "ODBC Driver 17 for SQL Server";
+      driver = "lib/libmsodbcsql-${versionMajor}.${versionMinor}.so.${versionAdditional}";
+    };
+
+    meta = with stdenv.lib; {
+      description = "ODBC Driver 17 for SQL Server";
+      homepage = https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-2017;
+      license = licenses.unfree;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ spencerjanssen ];
+    };
+  };
 }
diff --git a/pkgs/development/libraries/uri/default.nix b/pkgs/development/libraries/uri/default.nix
index bec6f2d0f4bcb..46eac0fb88bbe 100644
--- a/pkgs/development/libraries/uri/default.nix
+++ b/pkgs/development/libraries/uri/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "C++ URI library";
-    homepage = http://cpp-netlib.org;
+    homepage = https://cpp-netlib.org;
     license = stdenv.lib.licenses.boost;
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/uriparser/default.nix b/pkgs/development/libraries/uriparser/default.nix
index 9b4e3a74afe17..c716ae7f8dbbd 100644
--- a/pkgs/development/libraries/uriparser/default.nix
+++ b/pkgs/development/libraries/uriparser/default.nix
@@ -2,27 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "uriparser-${version}";
-  version = "0.8.5";
+  version = "0.8.6";
 
+  # Release tarball differs from source tarball
   src = fetchurl {
-    url = "mirror://sourceforge/project/uriparser/Sources/${version}/${name}.tar.bz2";
-    sha256 = "1p9c6lr39rjl4bbzi7wl2nsg72gcz8qhicxh9v043qyr0dfcvsjq";
+    url = "https://github.com/uriparser/uriparser/releases/download/${name}/${name}.tar.bz2";
+    sha256 = "0m2a5bf5b00ybagxmsa8mdj9mhc62vcm0qimy1ivfza1fbjsf287";
   };
 
+  nativeBuildInputs = [ pkgconfig cpptest doxygen graphviz ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cpptest doxygen graphviz ];
-
-  # There is actually no .map files to install in doc for v0.8.4
-  # (dot outputs only SVG and PNG in this release)
-  preBuild = ''
-    substituteInPlace doc/Makefile.am --replace " html/*.map" ""
-    substituteInPlace doc/Makefile.in --replace " html/*.map" ""
-  '';
-
+  doCheck = true;
 
   meta = with stdenv.lib; {
-    homepage = http://uriparser.sourceforge.net/;
+    homepage = https://uriparser.github.io/;
     description = "Strictly RFC 3986 compliant URI parsing library";
     longDescription = ''
       uriparser is a strictly RFC 3986 compliant URI parsing and handling library written in C.
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
index 507c494ea27d7..3d09545c93170 100644
--- a/pkgs/development/libraries/usbredir/default.nix
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -2,16 +2,14 @@
 
 stdenv.mkDerivation rec {
   name = "usbredir-${version}";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchurl {
-    url = "http://spice-space.org/download/usbredir/${name}.tar.bz2";
-    sha256 = "1wsnmk4wjpdhbn1zaxg6bmyxspcki2zgy0am9lk037rnl4krwzj0";
+    url = "https://spice-space.org/download/usbredir/${name}.tar.bz2";
+    sha256 = "002yik1x7kn0427xahvnhjby2np14a6xqw7c3dx530n9h5d9rg47";
   };
 
-  # Works around bunch of "format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}'" warnings
-  NIX_CFLAGS_COMPILE = stdenv.lib.optional (!stdenv.is64bit) "-Wno-error=format"
-    ++ [ "-Wno-error=format-truncation" ]; # newly detected with gcc-7
+  NIX_CFLAGS_COMPILE = [ "-Wno-error" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libusb ];
diff --git a/pkgs/development/libraries/utf8proc/default.nix b/pkgs/development/libraries/utf8proc/default.nix
index 48c2428bbcdb6..5b05f9ffef4a2 100644
--- a/pkgs/development/libraries/utf8proc/default.nix
+++ b/pkgs/development/libraries/utf8proc/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "utf8proc-${version}";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "https://github.com/JuliaLang/utf8proc/archive/v${version}.tar.gz";
-    sha256 = "0q1jhdkk4f9b0zb8s2ql3sba3br5nvjsmbsaybmgj064k9hwbk15";
+    sha256 = "1gsxxp7vk36z1g5mg19kq10j35dks5f9slsab2xfazh5vgdx33rz";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/uthash/default.nix b/pkgs/development/libraries/uthash/default.nix
index 9c252004656c1..57a1cbf73c2cd 100644
--- a/pkgs/development/libraries/uthash/default.nix
+++ b/pkgs/development/libraries/uthash/default.nix
@@ -13,9 +13,8 @@ stdenv.mkDerivation rec {
 
   dontBuild = false;
 
-  buildInputs = stdenv.lib.optional doCheck perl;
-
   doCheck = true;
+  checkInputs = [ perl ];
   checkTarget = "-C tests/";
 
   installPhase = ''
@@ -30,4 +29,3 @@ stdenv.mkDerivation rec {
     platforms   = platforms.all;
   };
 }
-
diff --git a/pkgs/development/libraries/v8/3.14.nix b/pkgs/development/libraries/v8/3.14.nix
index 9112079a90eaa..ce666becc8553 100644
--- a/pkgs/development/libraries/v8/3.14.nix
+++ b/pkgs/development/libraries/v8/3.14.nix
@@ -1,5 +1,5 @@
 # This old version of V8 is still needed for the R V8 module
-{ stdenv, callPackage, fetchFromGitHub, gyp, readline, python, which, icu, ... }:
+{ stdenv, fetchFromGitHub, gyp, readline, python, which, icu, ... }:
 
 assert readline != null;
 
diff --git a/pkgs/development/libraries/v8/3.16.14.nix b/pkgs/development/libraries/v8/3.16.14.nix
index 73f5febb66859..a7dddd141246e 100644
--- a/pkgs/development/libraries/v8/3.16.14.nix
+++ b/pkgs/development/libraries/v8/3.16.14.nix
@@ -3,10 +3,10 @@
 assert readline != null;
 
 let
-  arch = if stdenv.isArm
+  arch = if stdenv.isAarch32
     then (if stdenv.is64bit then "arm64" else "arm")
     else (if stdenv.is64bit then "x64" else "ia32");
-  armHardFloat = stdenv.isArm && (stdenv.platform.gcc.float or null) == "hard";
+  armHardFloat = stdenv.isAarch32 && (stdenv.hostPlatform.platform.gcc.float or null) == "hard";
 in
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/v8/6_x.nix b/pkgs/development/libraries/v8/6_x.nix
index 4095ff20c2bc8..adebedbf2ac1e 100644
--- a/pkgs/development/libraries/v8/6_x.nix
+++ b/pkgs/development/libraries/v8/6_x.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  arch = if stdenv.isArm
+  arch = if stdenv.isAarch32
          then if stdenv.is64bit
               then"arm64"
               else "arm"
diff --git a/pkgs/development/libraries/v8/default.nix b/pkgs/development/libraries/v8/default.nix
index f14ec4fc6084b..2b9fa5cc04c08 100644
--- a/pkgs/development/libraries/v8/default.nix
+++ b/pkgs/development/libraries/v8/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchgit, fetchFromGitHub, gyp, readline, python, which, icu
-, patchelf, coreutils, cctools
+, patchelf, coreutils, xcbuild
 , doCheck ? false
 , static ? false
 }:
@@ -10,7 +10,7 @@ let
   arch = if stdenv.isx86_64 then "x64"
             else if stdenv.isi686 then "ia32"
             else if stdenv.isAarch64 then "arm64"
-            else if stdenv.isArm then "arm"
+            else if stdenv.isAarch32 then "arm"
             else throw "Unknown architecture for v8";
   git_url = "https://chromium.googlesource.com";
   clangFlag = if stdenv.isDarwin then "1" else "0";
@@ -124,13 +124,7 @@ stdenv.mkDerivation rec {
 
   # Patch based off of:
   # https://github.com/cowboyd/libv8/tree/v5.1.281.67.0/patches
-  patches = lib.optional (!doCheck) ./libv8-5.4.232.patch
-  ++ stdenv.lib.optionals stdenv.isDarwin [ ./no-xcode.patch ];
-
-  prePatch = ''
-    chmod +w tools/gyp/pylib/gyp
-    chmod +w tools/gyp/pylib/gyp/xcode_emulation.py
-  '';
+  patches = lib.optional (!doCheck) ./libv8-5.4.232.patch;
 
   postPatch = ''
     sed -i 's,#!/usr/bin/env python,#!${python}/bin/python,' gypfiles/gyp_v8
@@ -157,7 +151,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ which ];
   buildInputs = [ readline python icu ]
-    ++ stdenv.lib.optional stdenv.isDarwin cctools
+    ++ stdenv.lib.optional stdenv.isDarwin xcbuild
     ++ stdenv.lib.optional stdenv.isLinux patchelf;
 
   NIX_CFLAGS_COMPILE = "-Wno-error=strict-overflow -Wno-error=unused-function -Wno-error=attributes"
diff --git a/pkgs/development/libraries/v8/no-xcode.patch b/pkgs/development/libraries/v8/no-xcode.patch
deleted file mode 100644
index 5562ffaf64e16..0000000000000
--- a/pkgs/development/libraries/v8/no-xcode.patch
+++ /dev/null
@@ -1,64 +0,0 @@
---- a/tools/gyp/pylib/gyp/xcode_emulation.py
-+++ a/tools/gyp/pylib/gyp/xcode_emulation.py
-@@ -473,10 +473,16 @@
- 
-   def _XcodeSdkPath(self, sdk_root):
-     if sdk_root not in XcodeSettings._sdk_path_cache:
--      sdk_path = self._GetSdkVersionInfoItem(sdk_root, '--show-sdk-path')
--      XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
--      if sdk_root:
--        XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
-+      try:
-+        sdk_path = self._GetSdkVersionInfoItem(sdk_root, '--show-sdk-path')
-+        XcodeSettings._sdk_path_cache[sdk_root] = sdk_path
-+        if sdk_root:
-+          XcodeSettings._sdk_root_cache[sdk_path] = sdk_root
-+      except:
-+        # if this fails it's because xcodebuild failed, which means
-+        # the user is probably on a CLT-only system, where there
-+        # is no valid SDK root
-+        XcodeSettings._sdk_path_cache[sdk_root] = None
-     return XcodeSettings._sdk_path_cache[sdk_root]
- 
-   def _AppendPlatformVersionMinFlags(self, lst):
-@@ -606,10 +612,11 @@
-       framework_root = sdk_root
-     else:
-       framework_root = ''
--    config = self.spec['configurations'][self.configname]
--    framework_dirs = config.get('mac_framework_dirs', [])
--    for directory in framework_dirs:
--      cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
-+    if 'SDKROOT' in self._Settings():
-+      config = self.spec['configurations'][self.configname]
-+      framework_dirs = config.get('mac_framework_dirs', [])
-+      for directory in framework_dirs:
-+        cflags.append('-F' + directory.replace('$(SDKROOT)', framework_root))
- 
-     self.configname = None
-     return cflags
-@@ -861,10 +868,11 @@
-     sdk_root = self._SdkPath()
-     if not sdk_root:
-       sdk_root = ''
--    config = self.spec['configurations'][self.configname]
--    framework_dirs = config.get('mac_framework_dirs', [])
--    for directory in framework_dirs:
--      ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
-+    if 'SDKROOT' in self._Settings():
-+      config = self.spec['configurations'][self.configname]
-+      framework_dirs = config.get('mac_framework_dirs', [])
-+      for directory in framework_dirs:
-+        ldflags.append('-F' + directory.replace('$(SDKROOT)', sdk_root))
- 
-     platform_root = self._XcodePlatformPath(configname)
-     if sdk_root and platform_root and self._IsXCTest():
-@@ -1358,7 +1366,7 @@
-     if version:
-       version = re.match(r'(\d\.\d\.?\d*)', version).groups()[0]
-     else:
--      raise GypError("No Xcode or CLT version detected!")
-+      version = "7.0.0"
-     # The CLT has no build information, so we return an empty string.
-     version_list = [version, '']
-   version = version_list[0]
diff --git a/pkgs/development/libraries/vaapi-intel-hybrid/default.nix b/pkgs/development/libraries/vaapi-intel-hybrid/default.nix
new file mode 100644
index 0000000000000..56ded2c56447f
--- /dev/null
+++ b/pkgs/development/libraries/vaapi-intel-hybrid/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, cmrt, libdrm, libva, libX11, libGL, wayland }:
+
+stdenv.mkDerivation rec {
+  name = "intel-hybrid-driver-${version}";
+  version = "1.0.2";
+
+  src = fetchurl {
+    url = "https://github.com/01org/intel-hybrid-driver/archive/${version}.tar.gz";
+    sha256 = "0ywdhbvzwzzrq4qhylnw1wc8l3j67h26l0cs1rncwhw05s3ndk8n";
+  };
+
+  patches = [
+    # driver_init: load libva-x11.so for any ABI version
+    (fetchurl {
+      url = https://github.com/01org/intel-hybrid-driver/pull/26.diff;
+      sha256 = "1ql4mbi5x1d2a5c8mkjvciaq60zj8nhx912992winbhfkyvpb3gx";
+    })
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
+  buildInputs = [ cmrt libdrm libva libX11 libGL wayland ];
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "--enable-drm"
+    "--enable-x11"
+    "--enable-wayland"
+  ];
+
+  postPatch = ''
+    patchShebangs ./src/shaders/gpp.py
+  '';
+
+  preConfigure = ''
+    sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://01.org/linuxmedia;
+    description = "Intel driver for the VAAPI library with partial HW acceleration";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tadfisher ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/vaapi-intel/default.nix b/pkgs/development/libraries/vaapi-intel/default.nix
index 4e729db4671e1..ba763e3349054 100644
--- a/pkgs/development/libraries/vaapi-intel/default.nix
+++ b/pkgs/development/libraries/vaapi-intel/default.nix
@@ -1,5 +1,6 @@
 { stdenv, fetchFromGitHub, autoreconfHook, gnum4, pkgconfig, python2
 , intel-gpu-tools, libdrm, libva, libX11, libGL, wayland, libXext
+, enableHybridCodec ? false, vaapi-intel-hybrid
 }:
 
 stdenv.mkDerivation rec {
@@ -7,8 +8,8 @@ stdenv.mkDerivation rec {
   inherit (libva) version;
 
   src = fetchFromGitHub {
-    owner  = "01org";
-    repo   = "libva-intel-driver";
+    owner  = "intel";
+    repo   = "intel-vaapi-driver";
     rev    = version;
     sha256 = "15ag4al9h6b8f8sw1zpighyhsmr5qfqp1882q7r3gsh5g4cnj763";
   };
@@ -21,20 +22,25 @@ stdenv.mkDerivation rec {
     sed -i -e "s,LIBVA_DRIVERS_PATH=.*,LIBVA_DRIVERS_PATH=$out/lib/dri," configure
   '';
 
+  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 ];
 
-  buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext libGL wayland ];
+  buildInputs = [ intel-gpu-tools libdrm libva libX11 libXext libGL wayland ]
+    ++ stdenv.lib.optional enableHybridCodec vaapi-intel-hybrid;
 
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://cgit.freedesktop.org/vaapi/intel-driver/;
+    homepage = https://01.org/linuxmedia;
     license = licenses.mit;
     description = "Intel driver for the VAAPI library";
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/vaapi-vdpau/default.nix b/pkgs/development/libraries/vaapi-vdpau/default.nix
index 013af68cb6c47..07ca9d2e62e17 100644
--- a/pkgs/development/libraries/vaapi-vdpau/default.nix
+++ b/pkgs/development/libraries/vaapi-vdpau/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   name = "libva-vdpau-driver-0.7.4";
   
   src = fetchurl {
-    url = "http://www.freedesktop.org/software/vaapi/releases/libva-vdpau-driver/${name}.tar.bz2";
+    url = "https://www.freedesktop.org/software/vaapi/releases/libva-vdpau-driver/${name}.tar.bz2";
     sha256 = "1fcvgshzyc50yb8qqm6v6wn23ghimay23ci0p8sm8gxcy211jp0m";
   };
 
diff --git a/pkgs/development/libraries/vapoursynth-mvtools/default.nix b/pkgs/development/libraries/vapoursynth-mvtools/default.nix
index 2fa6710c4faff..c2ab61c6bd17f 100644
--- a/pkgs/development/libraries/vapoursynth-mvtools/default.nix
+++ b/pkgs/development/libraries/vapoursynth-mvtools/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     yasm vapoursynth fftwFloat
   ];
 
-  configureFlags = "--libdir=$(out)/lib/vapoursynth";
+  configureFlags = [ "--libdir=$(out)/lib/vapoursynth" ];
 
   meta = with stdenv.lib; {
     description = "A set of filters for motion estimation and compensation";
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index e45337c8cf5de..7344f3a7e2bb2 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
     (optionalString (!imwriSupport) "--disable-imwri")
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "A video processing framework with the future in mind";
     homepage    = http://www.vapoursynth.com/;
diff --git a/pkgs/development/libraries/vcdimager/default.nix b/pkgs/development/libraries/vcdimager/default.nix
index 48ad33424f609..ddecf4a96a75d 100644
--- a/pkgs/development/libraries/vcdimager/default.nix
+++ b/pkgs/development/libraries/vcdimager/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, lib, fetchurl, pkgconfig, libcdio, libxml2, popt }:
+{ stdenv, lib, fetchurl, pkgconfig, libcdio, libxml2, popt
+, libiconv, darwin }:
 
 stdenv.mkDerivation rec {
   name = "vcdimager-2.0.1";
@@ -10,14 +11,15 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ libxml2 popt ];
+  buildInputs = [ libxml2 popt libiconv ]
+             ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ IOKit DiskArbitration ]);
 
   propagatedBuildInputs = [ libcdio ];
 
   meta = with lib; {
     homepage = http://www.gnu.org/software/vcdimager/;
     description = "Full-featured mastering suite for authoring, disassembling and analyzing Video CDs and Super Video CDs";
-    platforms = platforms.gnu; # random choice
+    platforms = platforms.unix;
     license = licenses.gpl2;
   };
 }
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 438b4eda454bf..4a002becdb3b1 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, cmake, doxygen, fftw, fftwSinglePrec, hdf5, ilmbase
+{ stdenv, fetchurl, boost, cmake, fftw, fftwSinglePrec, hdf5, ilmbase
 , libjpeg, libpng, libtiff, openexr, python2Packages }:
 
 let
@@ -26,6 +26,9 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # fails with "./test_watersheds3d: error while loading shared libraries: libvigraimpex.so.11: cannot open shared object file: No such file or directory"
+  doCheck = false;
+
   meta = with stdenv.lib; {
     description = "Novel computer vision C++ library with customizable algorithms and data structures";
     homepage = https://hci.iwr.uni-heidelberg.de/vigra;
diff --git a/pkgs/development/libraries/virglrenderer/default.nix b/pkgs/development/libraries/virglrenderer/default.nix
index 0d9abc0247e29..2cd3b5a20c0c9 100644
--- a/pkgs/development/libraries/virglrenderer/default.nix
+++ b/pkgs/development/libraries/virglrenderer/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libGLU, epoxy, libX11 }:
+{ stdenv, fetchurl, pkgconfig, libGLU, epoxy, libX11, libdrm, mesa_noglu }:
 
 
 stdenv.mkDerivation rec {
@@ -11,10 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "a549e351e0eb2ad1df471386ddcf85f522e7202808d1616ee9ff894209066e1a";
   };
 
-  buildInputs = [ libGLU epoxy libX11 ];
+  buildInputs = [ libGLU epoxy libX11 libdrm mesa_noglu ];
 
   nativeBuildInputs = [ pkgconfig ];
 
+  # Fix use of fd_set without proper include
+  prePatch = ''
+    sed -e '1i#include <sys/select.h>' -i vtest/util.c
+  '';
+
   meta = with stdenv.lib; {
     description = "A virtual 3D GPU library that allows a qemu guest to use the host GPU for accelerated 3D rendering";
     homepage = https://virgil3d.github.io/;
diff --git a/pkgs/development/libraries/vo-amrwbenc/default.nix b/pkgs/development/libraries/vo-amrwbenc/default.nix
index ba6e437ca3c38..9e4ac7e22ca9d 100644
--- a/pkgs/development/libraries/vo-amrwbenc/default.nix
+++ b/pkgs/development/libraries/vo-amrwbenc/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
   };
 
   meta = {
-    homepage = "http://sourceforge.net/projects/opencore-amr/";
+    homepage = https://sourceforge.net/projects/opencore-amr/;
     description = "VisualOn Adaptive Multi Rate Wideband (AMR-WB) encoder";
     license = "stdenv.lib.licenses.apache";
     maintainers = [ stdenv.lib.maintainers.Esteth ];
diff --git a/pkgs/development/libraries/volume-key/default.nix b/pkgs/development/libraries/volume-key/default.nix
new file mode 100644
index 0000000000000..b91c091c6c6f3
--- /dev/null
+++ b/pkgs/development/libraries/volume-key/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchgit, autoreconfHook, pkgconfig, gettext, python3
+, ncurses, swig, glib, utillinux, cryptsetup, nss, gpgme
+}:
+
+let
+  version = "0.3.11";
+in stdenv.mkDerivation rec {
+  name = "volume_key-${version}";
+
+  src = fetchgit {
+    url = https://pagure.io/volume_key.git;
+    rev = "volume_key-${version}";
+    sha256 = "1sqdbcih1c39bjiv4mm1m7acc3lfh2i2hf2r9i7rk8adfzq8awma";
+  };
+
+  outputs = [ "out" "man" "dev" "py" ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig gettext python3 ncurses swig ];
+
+  buildInputs = [ glib cryptsetup nss utillinux gpgme ];
+
+  makeFlags = [
+    "pyexecdir=$(py)/${python3.sitePackages}"
+    "pythondir=$(py)/${python3.sitePackages}"
+  ];
+
+  doCheck = false; # fails 1 out of 1 tests, needs `certutil`
+
+  meta = with stdenv.lib; {
+    description = "A library for manipulating storage volume encryption keys and storing them separately from volumes to handle forgotten passphrases, and the associated command-line tool";
+    homepage = https://pagure.io/volume_key/;
+    license = licenses.gpl2;
+    maintainers = with maintainers; [];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/vsqlite/default.nix b/pkgs/development/libraries/vsqlite/default.nix
index bfb07c2df3376..e706c730ddd36 100644
--- a/pkgs/development/libraries/vsqlite/default.nix
+++ b/pkgs/development/libraries/vsqlite/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.3.13";
 
   src = fetchurl {
-    url = "http://evilissimo.fedorapeople.org/releases/vsqlite--/0.3.13/vsqlite++-${version}.tar.gz";
+    url = "https://evilissimo.fedorapeople.org/releases/vsqlite--/0.3.13/vsqlite++-${version}.tar.gz";
     sha256 = "17fkj0d2jh0xkjpcayhs1xvbnh1d69f026i7vs1zqnbiwbkpz237";
   };
 
diff --git a/pkgs/development/libraries/vtk/default.nix b/pkgs/development/libraries/vtk/default.nix
index 984a106236ce0..b85d76640cf06 100644
--- a/pkgs/development/libraries/vtk/default.nix
+++ b/pkgs/development/libraries/vtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, cmake, libGLU_combined, libX11, xproto, libXt
+{ stdenv, fetchurl, cmake, libGLU_combined, libX11, xproto, libXt
 , qtLib ? null
 # Darwin support
 , Cocoa, CoreServices, DiskArbitration, IOKit, CFNetwork, Security, GLUT, OpenGL
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     description = "Open source libraries for 3D computer graphics, image processing and visualization";
     homepage = http://www.vtk.org/;
     license = stdenv.lib.licenses.bsd3;
-    maintainers = with stdenv.lib.maintainers; [ viric ];
+    maintainers = with stdenv.lib.maintainers; [ ];
     platforms = with stdenv.lib.platforms; unix;
   };
 }
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
new file mode 100644
index 0000000000000..e154403697fec
--- /dev/null
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchFromGitHub, cmake }:
+stdenv.mkDerivation rec {
+  name = "vulkan-headers-${version}";
+  version = "1.1.77.0";
+
+  buildInputs = [ cmake ];
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "Vulkan-Headers";
+    rev = "sdk-${version}";
+    sha256 = "1k01y5cj154mw7853w5xh135b2jp6k83kzwknw0dbs5adj4dx0kf";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Vulkan Header files and API registry";
+    homepage    = https://www.lunarg.com;
+    platforms   = platforms.linux;
+    license     = licenses.asl20;
+    maintainers = [ maintainers.ralith ];
+  };
+}
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index 2b0d765efc8b5..e44a678194ae8 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,70 +1,36 @@
-{ stdenv, fetchgit, fetchFromGitHub, cmake, pkgconfig, git, python3,
-  python3Packages, glslang, spirv-tools, x11, libxcb, libXrandr,
-  libXext, wayland, libGL, makeWrapper }:
+{ stdenv, fetchFromGitHub, cmake, python3, vulkan-headers, pkgconfig,
+  xlibsWrapper, libxcb, libXrandr, libXext, wayland, libGL_driver }:
+let version = "1.1.77.0"; in
+assert version == vulkan-headers.version;
+stdenv.mkDerivation rec {
+  name = "vulkan-loader-${version}";
+  inherit version;
 
-let
-  version = "1.1.70.0";
   src = fetchFromGitHub {
     owner = "KhronosGroup";
-    repo = "Vulkan-LoaderAndValidationLayers";
+    repo = "Vulkan-Loader";
     rev = "sdk-${version}";
-    sha256 = "1a7xwl65bi03l4zbjq54qkxjb8kb4m78qvw8bas5alhf9v6i6yqp";
+    sha256 = "1nzzkqh0i3j1d3h7kgmaxzi748l338m2p31lxkwxm4y81xp56a94";
   };
-in
-
-stdenv.mkDerivation rec {
-  name = "vulkan-loader-${version}";
-  inherit version src;
 
-  nativeBuildInputs = [ makeWrapper pkgconfig ];
-  buildInputs = [ cmake git python3 python3Packages.lxml
-                  glslang x11 libxcb libXrandr libXext wayland
-                ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ cmake python3 xlibsWrapper libxcb libXrandr libXext wayland ];
   enableParallelBuilding = true;
 
   cmakeFlags = [
-    "-DBUILD_WSI_MIR_SUPPORT=OFF"
-    "-DFALLBACK_DATA_DIRS=${libGL.driverLink}/share:/usr/local/share:/usr/share"
+    "-DFALLBACK_DATA_DIRS=${libGL_driver.driverLink}/share:/usr/local/share:/usr/share"
+    "-DVULKAN_HEADERS_INSTALL_DIR=${vulkan-headers}"
   ];
 
-  outputs = [ "out" "dev" "demos" ];
-  patches = [ ./rev-file.patch ];
-
-  postUnpack = ''
-    # Hack so a version header can be generated. Relies on ./rev-file.patch to work.
-    mkdir -p "$sourceRoot/external/glslang/External"
-    echo "${spirv-tools.src.rev}" > "$sourceRoot/external/glslang/External/spirv-tools"
-  '';
-
-  preConfigure = ''
-    checkRev() {
-      [ "$2" = $(cat "external_revisions/$1_revision") ] || (echo "ERROR: dependency $1 is revision $2 but should be revision" $(cat "external_revisions/$1_revision") && exit 1)
-    }
-    checkRev glslang "${glslang.src.rev}"
-  '';
+  outputs = [ "out" "dev" ];
 
-  installPhase = ''
-    mkdir -p $out/lib $out/bin
-    cp -d loader/libvulkan.so* $out/lib
-    cp demos/vulkaninfo $out/bin
-    mkdir -p $out/lib $out/share/vulkan/explicit_layer.d
-    cp -d layers/*.so $out/lib/
-    cp -d layers/*.json $out/share/vulkan/explicit_layer.d/
-    sed -i "s:\\./lib:$out/lib/lib:g" "$out/share/vulkan/"*/*.json
-    mkdir -p $dev/include
-    cp -rv ../include $dev/
-    mkdir -p $demos/share/vulkan-demos
-    cp demos/*.spv demos/*.ppm $demos/share/vulkan-demos
-    mkdir -p $demos/bin
-    find demos -type f -executable -not -name vulkaninfo -exec cp -v {} $demos/bin \;
-    for p in cube cubepp; do
-      wrapProgram $demos/bin/$p --run "cd $demos/share/vulkan-demos"
-    done
+  postInstall = ''
+    cp -r "${vulkan-headers}/include" "$dev"
   '';
 
   meta = with stdenv.lib; {
     description = "LunarG Vulkan loader";
-    homepage    = "http://www.lunarg.com";
+    homepage    = https://www.lunarg.com;
     platforms   = platforms.linux;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
diff --git a/pkgs/development/libraries/vulkan-loader/rev-file.patch b/pkgs/development/libraries/vulkan-loader/rev-file.patch
deleted file mode 100644
index e8f9f92c8ead6..0000000000000
--- a/pkgs/development/libraries/vulkan-loader/rev-file.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c9f73ce96..d14ffeed9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -339,13 +339,13 @@ macro(run_vk_xml_generate dependency output)
- endmacro()
- 
- # Define macro used for generating header files containing commit IDs for external dependencies
--macro(run_external_revision_generate source_dir symbol_name output)
-+macro(run_external_revision_generate rev_file symbol_name output)
-     add_custom_command(OUTPUT ${output}
-     # NOTE: If you modify this call to use --rev_file instead of --git_dir (to read the commit ID from a file instead of
-     # parsing from a Git repository), you probably also want to add the revision file to the list of DEPENDS on the
-     # subsequent line (to ensure that the script is re-run when the revision file is modified).
--    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --git_dir ${source_dir} -s ${symbol_name} -o ${output}
--    DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${source_dir}/.git/HEAD ${source_dir}/.git/index
-+    COMMAND ${PYTHON_CMD} ${SCRIPTS_DIR}/external_revision_generator.py --rev_file ${rev_file} -s ${symbol_name} -o ${output}
-+    DEPENDS ${SCRIPTS_DIR}/external_revision_generator.py ${rev_file}
-     )
- endmacro()
- 
diff --git a/pkgs/development/libraries/wavpack/default.nix b/pkgs/development/libraries/wavpack/default.nix
index 29a27e53f2255..9eb3254001d59 100644
--- a/pkgs/development/libraries/wavpack/default.nix
+++ b/pkgs/development/libraries/wavpack/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, libiconv }:
+{ stdenv, fetchurl, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "wavpack-${version}";
diff --git a/pkgs/development/libraries/wayland/1.9.nix b/pkgs/development/libraries/wayland/1.9.nix
index 4c6d95e67c0f4..750a786c3fcac 100644
--- a/pkgs/development/libraries/wayland/1.9.nix
+++ b/pkgs/development/libraries/wayland/1.9.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, pkgconfig
-, libffi, docbook_xsl, doxygen, graphviz, libxslt, xmlto, libxml2
+, libffi, libxml2
 , expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
 }:
 
@@ -11,11 +11,11 @@ stdenv.mkDerivation rec {
   version = "1.9.0";
 
   src = fetchurl {
-    url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
+    url = "https://wayland.freedesktop.org/releases/${name}.tar.xz";
     sha256 = "1yhy62vkbq8j8c9zaa6yzvn75cd99kfa8n2zfdwl80x019r711ww";
   };
 
-  configureFlags = "--with-scanner --disable-documentation";
+  configureFlags = [ "--with-scanner" "--disable-documentation" ];
 
   nativeBuildInputs = [ pkgconfig ];
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Reference implementation of the wayland protocol";
-    homepage    = http://wayland.freedesktop.org/;
+    homepage    = https://wayland.freedesktop.org/;
     license     = lib.licenses.mit;
     platforms   = lib.platforms.linux;
     maintainers = with lib.maintainers; [ codyopel wkennington ];
diff --git a/pkgs/development/libraries/wayland/default.nix b/pkgs/development/libraries/wayland/default.nix
index a5b7a6a99ce48..fce0dae6c7313 100644
--- a/pkgs/development/libraries/wayland/default.nix
+++ b/pkgs/development/libraries/wayland/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, pkgconfig
-, libffi, docbook_xsl, doxygen, graphviz, libxslt, xmlto, libxml2
+, libffi, libxml2
 , expat ? null # Build wayland-scanner (currently cannot be disabled as of 1.7.0)
 }:
 
@@ -8,11 +8,11 @@ assert expat != null;
 
 stdenv.mkDerivation rec {
   name = "wayland-${version}";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "1f3sla6h0bw15fz8pjc67jhwj7pwmfdc7qlj42j5k9v116ycm07d";
+    sha256 = "1c5fnys8hi71cnzjv5k7j0r8gx80p0yyqlrpmn06mmarhnxvwgzb";
   };
 
   configureFlags = [ "--with-scanner" "--disable-documentation" ];
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index ed9866048191c..54fa944777548 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   name = "wayland-protocols-${version}";
-  version = "1.13";
+  version = "1.16";
 
   src = fetchurl {
-    url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0f4gqvmz53q9d8h0ilhf4z773nb4vskzx11a3d1jycym120bqn07";
+    url = "https://wayland.freedesktop.org/releases/${name}.tar.xz";
+    sha256 = "1icqikvhgv9kcf8lcqml3w9fb8q3igr4c3471jb6mlyw3yaqa53b";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Wayland protocol extensions";
-    homepage    = http://wayland.freedesktop.org/;
+    homepage    = https://wayland.freedesktop.org/;
     license     = lib.licenses.mit;
     platforms   = lib.platforms.linux;
     maintainers = with lib.maintainers; [ ];
diff --git a/pkgs/development/libraries/wcslib/default.nix b/pkgs/development/libraries/wcslib/default.nix
index 5dd79980680f0..7c4d275e05fee 100644
--- a/pkgs/development/libraries/wcslib/default.nix
+++ b/pkgs/development/libraries/wcslib/default.nix
@@ -1,14 +1,14 @@
 { fetchurl,  stdenv, flex }:
 
 stdenv.mkDerivation rec {
-  version = "5.18";
+  version = "5.19.1";
   name = "wcslib-${version}";
 
   buildInputs = [ flex ];
 
   src = fetchurl {
     url = "ftp://ftp.atnf.csiro.au/pub/software/wcslib/${name}.tar.bz2";
-    sha256 ="16jh568k99c9p0y3qzcgps2rii933x9wlay7q1xm0lr59zqzp4xn";
+    sha256 ="160gvz9xk4hvliwb75ry770qdf899kc89ij6r0y7fh60lbjz1far";
   };
 
   prePatch = ''
diff --git a/pkgs/development/libraries/webkitgtk/2.20.nix b/pkgs/development/libraries/webkitgtk/2.20.nix
index 588f4bc4e3bd2..bb493d16a3694 100644
--- a/pkgs/development/libraries/webkitgtk/2.20.nix
+++ b/pkgs/development/libraries/webkitgtk/2.20.nix
@@ -2,7 +2,7 @@
 , pkgconfig, gettext, gobjectIntrospection, libnotify, gnutls, libgcrypt
 , gtk3, wayland, libwebp, enchant2, xorg, libxkbcommon, epoxy, at-spi2-core
 , libxml2, libsoup, libsecret, libxslt, harfbuzz, libpthreadstubs, pcre, nettle, libtasn1, p11-kit
-, libidn, libedit, readline, libGLU_combined, libintlOrEmpty
+, libidn, libedit, readline, libGLU_combined, libintl
 , enableGeoLocation ? true, geoclue2, sqlite
 , enableGtk2Plugins ? false, gtk2 ? null
 , gst-plugins-base, gst-plugins-bad, woff2
@@ -15,20 +15,20 @@ assert stdenv.isDarwin -> !enableGtk2Plugins;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.20.0";
+  version = "2.20.5";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
     homepage = https://webkitgtk.org/;
     license = licenses.bsd2;
-    platforms = with platforms; linux ++ darwin;
+    platforms = platforms.linux;
     hydraPlatforms = [];
     maintainers = with maintainers; [ ];
   };
 
   src = fetchurl {
-    url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "0g0an3pc2yz13gzpaysfgch2yp510gw1qcpk0xr8m6mx43vl1xjp";
+    url = "https://webkitgtk.org/releases/${name}.tar.xz";
+    sha256 = "147r7an41920zl4x9srdva7fxvw2znjin5ldjkhay1cndv9gih0m";
   };
 
   patches = optionals stdenv.isDarwin [
@@ -39,12 +39,6 @@ stdenv.mkDerivation rec {
     patchShebangs .
   '';
 
-  postConfigure = ''
-    # A stopgap for a non-deterministic build failure when using only one core
-    # Upstream bug: https://bugs.webkit.org/show_bug.cgi?id=183788#c4
-    ninja JavaScriptCoreForwardingHeaders WTFForwardingHeaders
-  '';
-
   cmakeFlags = [
   "-DPORT=GTK"
   "-DUSE_LIBHYPHEN=0"
@@ -66,20 +60,18 @@ stdenv.mkDerivation rec {
   "-DENABLE_GTKDOC=OFF"
   ];
 
-  NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin " -lintl";
-
   nativeBuildInputs = [
     cmake ninja perl python2 ruby bison gperf
     pkgconfig gettext gobjectIntrospection
   ];
 
-  buildInputs = libintlOrEmpty ++ [
-    libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
+  buildInputs = [
+    libintl libwebp enchant2 libnotify gnutls pcre nettle libidn libgcrypt woff2
     libxml2 libsecret libxslt harfbuzz libpthreadstubs libtasn1 p11-kit
     sqlite gst-plugins-base gst-plugins-bad libxkbcommon epoxy at-spi2-core
   ] ++ optional enableGeoLocation geoclue2
     ++ optional enableGtk2Plugins gtk2
-    ++ (with xorg; [ libXdmcp libXt libXtst ])
+    ++ (with xorg; [ libXdmcp libXt libXtst libXdamage ])
     ++ optionals stdenv.isDarwin [ libedit readline libGLU_combined ]
     ++ optional stdenv.isLinux wayland;
 
diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix
index 18d20bf9c780c..1a17ae53313b5 100644
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ b/pkgs/development/libraries/webkitgtk/2.4.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   };
 
   src = fetchurl {
-    url = "http://webkitgtk.org/releases/${name}.tar.xz";
+    url = "https://webkitgtk.org/releases/${name}.tar.xz";
     sha256 = "1xsvnvyvlywwyf6m9ainpsg87jkxjmd37q6zgz9cxb7v3c2ym2jq";
   };
 
@@ -89,7 +89,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk2 libwebp enchant
     libxml2 libxslt
-    gst-plugins-base sqlite xorg.libXt
+    gst-plugins-base sqlite xorg.libXt xorg.libXdamage
   ] ++ optionals enableCredentialStorage [
     libsecret
   ] ++ (if stdenv.isDarwin then [
diff --git a/pkgs/development/libraries/webrtc-audio-processing/default.nix b/pkgs/development/libraries/webrtc-audio-processing/default.nix
index b5a3aed91d900..96e7b4c4a20d9 100644
--- a/pkgs/development/libraries/webrtc-audio-processing/default.nix
+++ b/pkgs/development/libraries/webrtc-audio-processing/default.nix
@@ -1,18 +1,16 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, darwin }:
 
 stdenv.mkDerivation rec {
-  name = "webrtc-audio-processing-0.3";
+  name = "webrtc-audio-processing-0.3.1";
 
   src = fetchurl {
-    url = "http://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${name}.tar.xz";
-    sha256 = "1yl0187xjh1j2zkb7v9cs9i868zcaj23pzn4a36qhzam9wfjjvkm";
+    url = "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/${name}.tar.xz";
+    sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
   };
 
-  # Avoid this error:
-  # signal_processing/filter_ar_fast_q12_armv7.S:88: Error: selected processor does not support `sbfx r11,r6,#12,#16' in ARM mode
-  patchPhase = stdenv.lib.optionalString stdenv.isArm ''
-    substituteInPlace configure --replace 'armv7*|armv8*' 'disabled'
-  '' + stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
+  buildInputs = stdenv.lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
+
+  patchPhase = stdenv.lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1
   '';
 
diff --git a/pkgs/development/libraries/wiredtiger/default.nix b/pkgs/development/libraries/wiredtiger/default.nix
index c905c40cf9603..c4d94af850dd5 100644
--- a/pkgs/development/libraries/wiredtiger/default.nix
+++ b/pkgs/development/libraries/wiredtiger/default.nix
@@ -13,7 +13,6 @@ let
     + optionalString (val != null && cond != false) "=${val}";
   mkEnable = mkFlag "enable-" "disable-";
   mkWith = mkFlag "with-" "without-";
-  mkOther = mkFlag "" "" true;
 
   shouldUsePkg = pkg: if pkg != null && pkg.meta.available then pkg else null;
 
diff --git a/pkgs/development/libraries/wlc/default.nix b/pkgs/development/libraries/wlc/default.nix
index 846e710b0a486..572adfeb0bb69 100644
--- a/pkgs/development/libraries/wlc/default.nix
+++ b/pkgs/development/libraries/wlc/default.nix
@@ -1,7 +1,7 @@
-{ stdenv, fetchFromGitHub, fetchpatch, cmake, pkgconfig
+{ stdenv, fetchFromGitHub, cmake, pkgconfig
 , wayland, pixman, libxkbcommon, libinput, xcbutilwm, xcbutilimage, libGL
-, libX11, dbus_libs, wayland-protocols
-, libpthreadstubs, libXdmcp, libXext
+, libX11, dbus, wayland-protocols, libdrm, mesa_noglu
+, libpthreadstubs, libXdmcp, libXext, libXfixes
 , withOptionalPackages ? true, zlib, valgrind, doxygen
 }:
 
@@ -21,8 +21,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     wayland pixman libxkbcommon libinput xcbutilwm xcbutilimage libGL
-    libX11 dbus_libs wayland-protocols
-    libpthreadstubs libXdmcp libXext ]
+    libX11 libXfixes dbus wayland-protocols
+    libpthreadstubs libXdmcp libXext libdrm mesa_noglu ]
     ++ stdenv.lib.optionals withOptionalPackages [ zlib valgrind doxygen ];
 
   doCheck = true;
diff --git a/pkgs/development/libraries/wlroots/default.nix b/pkgs/development/libraries/wlroots/default.nix
index 3fdaeb824382d..a4c2b32971457 100644
--- a/pkgs/development/libraries/wlroots/default.nix
+++ b/pkgs/development/libraries/wlroots/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig
 , wayland, libGL, wayland-protocols, libinput, libxkbcommon, pixman
-, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors
+, xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa_noglu
 }:
 
 let pname = "wlroots";
@@ -22,7 +22,7 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     wayland libGL wayland-protocols libinput libxkbcommon pixman
-    xcbutilwm libX11 libcap xcbutilimage xcbutilerrors
+    xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa_noglu
   ];
 
   # Install rootston (the reference compositor) to $bin
@@ -42,5 +42,8 @@ in stdenv.mkDerivation rec {
     license     = licenses.mit;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ primeos ];
+    # Marked as broken until the first official/stable release (upstream
+    # request). See #38344 for the public discussion.
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index fa65a14121fc3..2b69f6283d602 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "wolfssl-${version}";
-  version = "3.13.0";
+  version = "3.15.3";
 
   src = fetchFromGitHub {
     owner = "wolfSSL";
     repo = "wolfssl";
     rev = "v${version}-stable";
-    sha256 = "0mvq7ifcpckfrg0zzcxqfbrv08pnz4a8g2z2j3s9h3cwns9ipn6h";
+    sha256 = "00mpq1z8j37a873dbk9knb835m3qlwqnd1rslirqkc44hpz1i64j";
   };
 
   outputs = [ "out" "dev" "doc" "lib" ];
diff --git a/pkgs/development/libraries/wt/default.nix b/pkgs/development/libraries/wt/default.nix
index 37819c2a98e37..aec64c9c33c6e 100644
--- a/pkgs/development/libraries/wt/default.nix
+++ b/pkgs/development/libraries/wt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, cmake, boost165, pkgconfig, doxygen, qt48Full, libharu
+{ stdenv, fetchFromGitHub, cmake, boost, pkgconfig, doxygen, qt48Full, libharu
 , pango, fcgi, firebird, mysql, postgresql, graphicsmagick, glew, openssl
 , pcre
 }:
@@ -10,7 +10,7 @@ let
       name = "wt-${version}";
 
       src = fetchFromGitHub {
-        owner = "kdeforche";
+        owner = "emweb";
         repo = "wt";
         rev = version;
         inherit sha256;
@@ -20,7 +20,7 @@ let
 
       nativeBuildInputs = [ pkgconfig ];
       buildInputs = [
-        cmake boost165 doxygen qt48Full libharu
+        cmake boost doxygen qt48Full libharu
         pango fcgi firebird mysql.connector-c postgresql graphicsmagick glew
         openssl pcre
       ];
@@ -43,14 +43,12 @@ let
     };
 in {
   wt3 = generic {
-    # with the next version update the version pinning of boost should be omitted
-    version = "3.3.9";
-    sha256 = "1mkflhvzzzxkc5yzvr6nk34j0ldpwxjxb6n7xml59h3j3px3ixjm";
+    version = "3.3.11";
+    sha256 = "1s1bwg3s7brnspr9ya1vg5mr29dbvhf05s606fiv409b7ladqvxq";
   };
 
   wt4 = generic {
-    # with the next version update the version pinning of boost should be omitted
-    version = "4.0.2";
-    sha256 = "0r729gjd1sy0pcmir2r7ga33mp5cr5b4gvf44852q65hw2577w1x";
+    version = "4.0.4";
+    sha256 = "17kq9fxc0xqx7q7kyryiph3mg0d3hnd3jw0rl55zvzfsdd71220w";
   };
 }
diff --git a/pkgs/development/libraries/wxSVG/default.nix b/pkgs/development/libraries/wxSVG/default.nix
index 82b72a0fc7b34..59f6af7eddb21 100644
--- a/pkgs/development/libraries/wxSVG/default.nix
+++ b/pkgs/development/libraries/wxSVG/default.nix
@@ -7,11 +7,11 @@ stdenv.mkDerivation rec {
 
   name = "wxSVG-${version}";
   srcName = "wxsvg-${version}";
-  version = "1.5.13";
+  version = "1.5.14";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/wxsvg/wxsvg/${version}/${srcName}.tar.bz2";
-    sha256 = "029a1rayp4c480x8ayng13rcjk1j98ar0z6ggijrznkn8kgx8j2j";
+    sha256 = "0xl5ghd8yj1ciwf87f12ii7vg38ir0snrds2rhi47pv5gypfkiq5";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 309d9be274d1a..5d3086fc5049f 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -14,17 +14,15 @@ assert withWebKit -> (if withGtk2 then webkitgtk24x-gtk2 else webkitgtk) != null
 
 with stdenv.lib;
 
-let
-  version = "3.0.3.1";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  version = "3.0.4";
   name = "wxwidgets-${version}";
 
   src = fetchFromGitHub {
     owner = "wxWidgets";
     repo = "wxWidgets";
     rev = "v${version}";
-    sha256 = "1b90in65k1ij6kyk41knxs86i6hx5lkz30gpvzdvh0cbjagv5asq";
+    sha256 = "19mqglghjjqjgz4rbybn3qdgn2cz9xc511nq1pvvli9wx2k8syl1";
   };
 
   buildInputs =
@@ -44,11 +42,7 @@ stdenv.mkDerivation {
           + "fix_assertion_using_hide_in_destroy.diff";
       sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
     })
-    # "Add support for WebKit2GTK+ in wxWebView". Will be in 3.0.4
-  ] ++ optional (!withGtk2) (fetchpatch {
-      url = "https://github.com/wxWidgets/wxWidgets/commit/ec6e54bc893fb7516731ca9c71e0d0bbc5ae9ff7.patch";
-      sha256 = "0gxd83xajm7gdv9rdzyvqwa2p5nz29nr23i0zx2dgfpsvz2qjp3q";
-    });
+  ];
 
   configureFlags =
     [ "--disable-precomp-headers" "--enable-mediactrl"
@@ -87,7 +81,7 @@ stdenv.mkDerivation {
   };
 
   enableParallelBuilding = true;
-  
+
   meta = {
     platforms = with platforms; darwin ++ linux;
     license = licenses.wxWindows;
diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix
index 06ed123c73561..276f509772c2f 100644
--- a/pkgs/development/libraries/x264/default.nix
+++ b/pkgs/development/libraries/x264/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   name = "x264-${version}";
 
   src = fetchurl {
-    url = "http://download.videolan.org/x264/snapshots/x264-snapshot-${version}-stable.tar.bz2";
+    url = "https://download.videolan.org/x264/snapshots/x264-snapshot-${version}-stable.tar.bz2";
     sha256 = "01sgk1ps4qfifdnblwa3fxnd8ah6n6zbmfc1sy09cgqcdgzxgj0z";
   };
 
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
index 418829e7af8af..d11a93254bfba 100644
--- a/pkgs/development/libraries/x265/default.nix
+++ b/pkgs/development/libraries/x265/default.nix
@@ -16,14 +16,14 @@ in
 
 stdenv.mkDerivation rec {
   name = "x265-${version}";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchurl {
     urls = [
       "http://get.videolan.org/x265/x265_${version}.tar.gz"
       "https://github.com/videolan/x265/archive/${version}.tar.gz"
     ];
-    sha256 = "1gyd94jkwdii9308m07nymsbxrmrcl81c0j8i10zhslr2mj07w0v";
+    sha256 = "18llni1m8kfvdwy5bp950z6gyd0nijmvi3hzd6gd8vpy5yk5zrym";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/xalanc/default.nix b/pkgs/development/libraries/xalanc/default.nix
index 28575f4c5d5e1..aeb741dbae7ba 100644
--- a/pkgs/development/libraries/xalanc/default.nix
+++ b/pkgs/development/libraries/xalanc/default.nix
@@ -13,12 +13,11 @@ in stdenv.mkDerivation rec {
     sha256 = "0a3a2b15vpacnqgpp6fiy1pwyc8q6ywzvyb5445f6wixfdspypjg";
   };
 
-  # TODO: should we really be putting outputs in $out/usr? I'd expect -P$out below
   configurePhase = ''
     export XALANCROOT=`pwd`/c
     cd `pwd`/c
-    mkdir -p $out/usr
-    ./runConfigure -p ${platform} -c cc -x c++ -P$out/usr
+    mkdir -p $out
+    ./runConfigure -p ${platform} -c cc -x c++ -P$out
   '';
 
   buildInputs = [ xercesc getopt ];
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index 482c765dcda93..f93f7ed87460f 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -7,10 +7,17 @@ let
     passthru = { inherit version; };
 
     src = fetchurl {
-      url = "http://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
+      url = "https://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
       inherit sha256;
     };
 
+    patches = stdenv.lib.optional (version == "1.4.7") [
+      # fix notmuch build, see https://notmuchmail.org/faq/#index12h2
+      # cannot fetchpatch this because base directory differs
+      # TODO: remove on next xapian update
+      ./fix-notmuch-tagging.patch
+    ];
+
     outputs = [ "out" "man" "doc" ];
 
     buildInputs = [ libuuid zlib ];
@@ -36,5 +43,5 @@ let
 in {
   # xapian-ruby needs 1.2.22 as of 2017-05-06
   xapian_1_2_22 = generic "1.2.22" "0zsji22n0s7cdnbgj0kpil05a6bgm5cfv0mvx12d8ydg7z58g6r6";
-  xapian_1_4 = generic "1.4.5" "0axhqrj202hbll9mcx1qdm8gsqj19216w3z02gyjbycxvr9gkdc5";
+  xapian_1_4 = generic "1.4.7" "1lxmlds3v5s1gng9nk1rvmln1zcksrw5ds509y0glylwch5qmw0k";
 }
diff --git a/pkgs/development/libraries/xapian/fix-notmuch-tagging.patch b/pkgs/development/libraries/xapian/fix-notmuch-tagging.patch
new file mode 100644
index 0000000000000..6deae76d2aa79
--- /dev/null
+++ b/pkgs/development/libraries/xapian/fix-notmuch-tagging.patch
@@ -0,0 +1,31 @@
+From f9e6f45b1c8f66bca8a3387f371b20d434b23a7d Mon Sep 17 00:00:00 2001
+From: Olly Betts <olly@survex.com>
+Date: Thu, 26 Jul 2018 17:26:52 +1200
+Subject: [PATCH 1/1] Revert "Enable open_nearby_postlist for writable
+ databases"
+
+The amended check isn't conservative enough as there may be postlist
+changes in the inverter while the table is unmodified.  This breaks
+testcase T150-tagging.sh in notmuch's testsuite, reported by David
+Bremner.
+
+This reverts commit 5489fb2f838c0f0b0a593b4c17df282a93a1fe5a.
+---
+ xapian-core/backends/glass/glass_postlist.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/xapian-core/backends/glass/glass_postlist.cc b/xapian-core/backends/glass/glass_postlist.cc
+index 80e578b85..a47f14a68 100644
+--- a/backends/glass/glass_postlist.cc
++++ b/backends/glass/glass_postlist.cc
+@@ -759,7 +759,7 @@ GlassPostList::open_nearby_postlist(const std::string & term_,
+     (void)need_pos;
+     if (term_.empty())
+ 	RETURN(NULL);
+-    if (!this_db.get() || this_db->postlist_table.is_modified())
++    if (!this_db.get() || this_db->postlist_table.is_writable())
+ 	RETURN(NULL);
+     RETURN(new GlassPostList(this_db, term_, cursor->clone()));
+ }
+-- 
+2.11.0
diff --git a/pkgs/development/libraries/xapian/tools/omega/default.nix b/pkgs/development/libraries/xapian/tools/omega/default.nix
index 09c2171945e44..1203f19d6c82a 100644
--- a/pkgs/development/libraries/xapian/tools/omega/default.nix
+++ b/pkgs/development/libraries/xapian/tools/omega/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   inherit (xapian) version;
 
   src = fetchurl {
-    url = "http://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz";
+    url = "https://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz";
     sha256 = "0zji8ckp4h5xdy2wbir3lvk680w1g1l4h5swmaxsx7ah12lkrjcr";
   };
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Indexer and CGI search front-end built on Xapian library";
-    homepage = http://xapian.org/;
+    homepage = https://xapian.org/;
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
index 17f8646b51770..e343c301127fa 100644
--- a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
+++ b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, autoconf, automake, libtool, pkgconfig
-, git, xorg, gnum4, libxcb, gperf }:
+, xorg, gnum4, libxcb, gperf }:
 
 stdenv.mkDerivation rec {
   name = "xcb-util-cursor-0.1.1-3-unstable-${version}";
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
new file mode 100644
index 0000000000000..e6f23a8a27037
--- /dev/null
+++ b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libxml2, xdg-desktop-portal, gtk3, glib }:
+
+let
+  version = "0.99";
+in stdenv.mkDerivation rec {
+  name = "xdg-desktop-portal-gtk-${version}";
+
+  src = fetchFromGitHub {
+    owner = "flatpak";
+    repo = "xdg-desktop-portal-gtk";
+    rev = version;
+    sha256 = "0jnmrl55gpvz06hy0832kcby4y84f0a1hiali6qy1lcmyqhm3v59";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig libxml2 xdg-desktop-portal ];
+  buildInputs = [ glib gtk3 ];
+
+  meta = with stdenv.lib; {
+    description = "Desktop integration portals for sandboxed apps";
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
new file mode 100644
index 0000000000000..9651f642a011b
--- /dev/null
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, libxml2, glib, pipewire, fuse }:
+
+let
+  version = "0.99";
+in stdenv.mkDerivation rec {
+  name = "xdg-desktop-portal-${version}";
+
+  outputs = [ "out" "installedTests" ];
+
+  src = fetchFromGitHub {
+    owner = "flatpak";
+    repo = "xdg-desktop-portal";
+    rev = version;
+    sha256 = "05garhdxylphrizyaqnz4sfpp28fd00v877q7cf1gyhpk1sr8i83";
+  };
+
+  patches = [
+    ./respect-path-env-var.patch
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig libxml2 ];
+  buildInputs = [ glib pipewire fuse ];
+
+  doCheck = true;
+
+  configureFlags = [
+    "--enable-installed-tests"
+  ];
+
+  makeFlags = [
+    "installed_testdir=$(installedTests)/libexec/installed-tests/xdg-desktop-portal"
+    "installed_test_metadir=$(installedTests)/share/installed-tests/xdg-desktop-portal"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Desktop integration portals for sandboxed apps";
+    license = licenses.lgpl21;
+    maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch b/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch
new file mode 100644
index 0000000000000..f884899ecd19f
--- /dev/null
+++ b/pkgs/development/libraries/xdg-desktop-portal/respect-path-env-var.patch
@@ -0,0 +1,76 @@
+--- a/src/xdg-desktop-portal.c
++++ b/src/xdg-desktop-portal.c
+@@ -177,38 +177,50 @@
+ static void
+ load_installed_portals (void)
+ {
+-  const char *portal_dir = PKGDATADIR "/portals";
+-  g_autoptr(GFile) dir = g_file_new_for_path (portal_dir);
+-  g_autoptr(GFileEnumerator) enumerator = NULL;
+ 
+-  enumerator = g_file_enumerate_children (dir, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL);
++  g_auto(GStrv) portal_dir_list;
++  int i;
++  const char *portal_dir = g_getenv ("XDG_DESKTOP_PORTAL_PATH");
++
++  if (portal_dir == NULL)
++    portal_dir = PKGDATADIR "/portals";
+ 
+-  if (enumerator == NULL)
+-    return;
++  portal_dir_list = g_strsplit (portal_dir, G_SEARCHPATH_SEPARATOR_S, 0);
+ 
+-  while (TRUE)
++  for (i = 0; portal_dir_list[i] != NULL; i++)
+     {
+-      g_autoptr(GFileInfo) info = g_file_enumerator_next_file (enumerator, NULL, NULL);
+-      g_autoptr(GFile) child = NULL;
+-      g_autofree char *path = NULL;
+-      const char *name;
+-      g_autoptr(GError) error = NULL;
++      portal_dir = portal_dir_list[i];
++      g_autoptr(GFile) dir = g_file_new_for_path (portal_dir);
++      g_autoptr(GFileEnumerator) enumerator = NULL;
++      enumerator = g_file_enumerate_children (dir, "*", G_FILE_QUERY_INFO_NONE, NULL, NULL);
+ 
+-      if (info == NULL)
+-        break;
++      if (enumerator == NULL)
++        continue;
+ 
+-      name = g_file_info_get_name (info);
++      while (TRUE)
++        {
++          g_autoptr(GFileInfo) info = g_file_enumerator_next_file (enumerator, NULL, NULL);
++          g_autoptr(GFile) child = NULL;
++          g_autofree char *path = NULL;
++          const char *name;
++          g_autoptr(GError) error = NULL;
+ 
+-      if (!g_str_has_suffix (name, ".portal"))
+-        continue;
++          if (info == NULL)
++            break;
+ 
+-      child = g_file_enumerator_get_child (enumerator, info);
+-      path = g_file_get_path (child);
++          name = g_file_info_get_name (info);
+ 
+-      if (!register_portal (path, &error))
+-        {
+-          g_warning ("Error loading %s: %s", path, error->message);
+-          continue;
++          if (!g_str_has_suffix (name, ".portal"))
++            continue;
++
++          child = g_file_enumerator_get_child (enumerator, info);
++          path = g_file_get_path (child);
++
++          if (!register_portal (path, &error))
++            {
++              g_warning ("Error loading %s: %s", path, error->message);
++              continue;
++            }
+         }
+     }
+ 
diff --git a/pkgs/development/libraries/xgboost/default.nix b/pkgs/development/libraries/xgboost/default.nix
index 7865724efa407..ad1cc2efc8797 100644
--- a/pkgs/development/libraries/xgboost/default.nix
+++ b/pkgs/development/libraries/xgboost/default.nix
@@ -1,5 +1,4 @@
 { stdenv, lib, fetchgit, cmake
-, avxSupport ? false
 , cudaSupport ? false, cudatoolkit
 , ncclSupport ? false, nccl
 , llvmPackages
@@ -9,13 +8,13 @@ assert ncclSupport -> cudaSupport;
 
 stdenv.mkDerivation rec {
   name = "xgboost-${version}";
-  version = "0.7";
+  version = "0.72";
 
   # needs submodules
   src = fetchgit {
     url = "https://github.com/dmlc/xgboost";
     rev = "refs/tags/v${version}";
-    sha256 = "1wxh020l4q037hc5z7vgxflb70l41a97anl8g6y4wxb74l5zv61l";
+    sha256 = "1d4kw2jm7d12g8qwi7p9r3429y7sjks9xp9yhvfpx5jh7qakkxj6";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 274a70057bdd7..69b5b95e7613a 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, xorg, alsaLib, libGLU_combined, aalib
-, libvorbis, libtheora, speex, zlib, libdvdcss, perl, ffmpeg
+, libvorbis, libtheora, speex, zlib, perl, ffmpeg
 , flac, libcaca, libpulseaudio, libmng, libcdio, libv4l, vcdimager
 , libmpcdec
 }:
diff --git a/pkgs/development/libraries/xml-security-c/default.nix b/pkgs/development/libraries/xml-security-c/default.nix
index bbbf9af29e58e..fec4bbe8efe2b 100644
--- a/pkgs/development/libraries/xml-security-c/default.nix
+++ b/pkgs/development/libraries/xml-security-c/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.7.3";
 
   src = fetchurl {
-    url = "http://www.apache.org/dist/santuario/c-library/${name}.tar.gz";
+    url = "https://www.apache.org/dist/santuario/c-library/${name}.tar.gz";
     sha256 = "e5226e7319d44f6fd9147a13fb853f5c711b9e75bf60ec273a0ef8a190592583";
   };
 
diff --git a/pkgs/development/libraries/xmlsec/default.nix b/pkgs/development/libraries/xmlsec/default.nix
index 32ce856eddd39..94f1d187267e5 100644
--- a/pkgs/development/libraries/xmlsec/default.nix
+++ b/pkgs/development/libraries/xmlsec/default.nix
@@ -2,14 +2,14 @@
 , openssl, nss, makeWrapper }:
 
 let
-  version = "1.2.25";
+  version = "1.2.26";
 in
 stdenv.mkDerivation rec {
   name = "xmlsec-${version}";
 
   src = fetchurl {
-    url = "http://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
-    sha256 = "1lpwj8dxwhha54sby0v5axjk79h56jnhjjiwiasbbk15vwzahz4n";
+    url = "https://www.aleksey.com/xmlsec/download/xmlsec1-${version}.tar.gz";
+    sha256 = "0l1dk344rn3j2vnj13daz72xd8j1msvzhg82n2il5ji0qz4pd0ld";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/xsd/default.nix b/pkgs/development/libraries/xsd/default.nix
index bef2e46e07369..051a194af98e4 100644
--- a/pkgs/development/libraries/xsd/default.nix
+++ b/pkgs/development/libraries/xsd/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   version = "4.0.0";
 
   src = fetchurl {
-    url = "http://codesynthesis.com/download/xsd/4.0/xsd-4.0.0+dep.tar.bz2";
+    url = "https://codesynthesis.com/download/xsd/4.0/xsd-4.0.0+dep.tar.bz2";
     sha256 = "05wqhmd5cd4pdky8i8qysnh96d2h16ly8r73whmbxkajiyf2m9gc";
   };
 
diff --git a/pkgs/development/libraries/xxHash/default.nix b/pkgs/development/libraries/xxHash/default.nix
index d702500bf7195..cbe32da644571 100644
--- a/pkgs/development/libraries/xxHash/default.nix
+++ b/pkgs/development/libraries/xxHash/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xxHash-${version}";
-  version = "0.6.3.20171018";
+  version = "0.6.4.20171222";
 
   src = fetchFromGitHub {
-    sha256 = "0061ivxpx0p24m4vg7kfx9fs9f0jxvv4g76bmyss5gp90p05hc18";
-    rev = "333804ccf0c0339451accac023deeab9e5f7c002";
+    sha256 = "1az5vm14rdc3pa3l0wj180wpii14if16diril3gz8q9ip1215gwj";
+    rev = "7caf8bd76440c75dfe1070d3acfbd7891aea8fca";
     repo = "xxHash";
     owner = "Cyan4973";
   };
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index 33cf5dd4af84a..7acbaa260a0c0 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchgit, pkgconfig, glib, sqlite, vala_0_38
-, autoconf, automake, libtool, gettext, dbus_libs, telepathy-glib
+, autoconf, automake, libtool, gettext, dbus, telepathy-glib
 , gtk3, json-glib, librdf_raptor2, dbus-glib
 , pythonSupport ? true, python2Packages
 }:
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoconf automake libtool pkgconfig gettext vala_0_38 python2Packages.python ];
   buildInputs = [
-    glib sqlite dbus_libs telepathy-glib dbus-glib
+    glib sqlite dbus telepathy-glib dbus-glib
     gtk3 json-glib librdf_raptor2 python2Packages.rdflib
   ];
 
diff --git a/pkgs/development/libraries/zeroc-ice/default.nix b/pkgs/development/libraries/zeroc-ice/default.nix
index 8527832ad9c28..063d64c690586 100644
--- a/pkgs/development/libraries/zeroc-ice/default.nix
+++ b/pkgs/development/libraries/zeroc-ice/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "05xympbns32aalgcfcpxwfd7bvg343f16xpg6jv5s335ski3cjy2";
   };
 
+  patches = [ ./makefile.patch ];
+
   buildInputs = [ mcpp bzip2 expat openssl db5 ]
     ++ stdenv.lib.optionals stdenv.isDarwin [ darwin.cctools libiconv Security ];
 
diff --git a/pkgs/development/libraries/zeroc-ice/makefile.patch b/pkgs/development/libraries/zeroc-ice/makefile.patch
new file mode 100644
index 0000000000000..6955bcd0a6d7c
--- /dev/null
+++ b/pkgs/development/libraries/zeroc-ice/makefile.patch
@@ -0,0 +1,9 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -77,4 +77,6 @@ FreezeScript: Freeze
+ Glacier2 IceGridLib Glacier2CryptPermissionsVerifier: Glacier2Lib
+ 
++Glacier2: IceSSL
++
+ IcePatch2: IcePatch2Lib
+ 
diff --git a/pkgs/development/libraries/zeromq/3.x.nix b/pkgs/development/libraries/zeromq/3.x.nix
index 2252f8fe43cc6..009826eef4768 100644
--- a/pkgs/development/libraries/zeromq/3.x.nix
+++ b/pkgs/development/libraries/zeromq/3.x.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ libuuid ];
 
+  doCheck = false; # fails all the tests (ctest)
+
   meta = with stdenv.lib; {
     branch = "3";
     homepage = http://www.zeromq.org;
diff --git a/pkgs/development/libraries/zeromq/4.x.nix b/pkgs/development/libraries/zeromq/4.x.nix
index eea0fb727b01d..79bebd87dbc25 100644
--- a/pkgs/development/libraries/zeromq/4.x.nix
+++ b/pkgs/development/libraries/zeromq/4.x.nix
@@ -2,22 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "zeromq-${version}";
-  version = "4.2.3";
+  version = "4.2.5";
 
   src = fetchFromGitHub {
     owner = "zeromq";
     repo = "libzmq";
     rev = "v${version}";
-    sha256 = "1yadf4vz4m49lpwwwscxs6wf4v9dgqgxkwgwpby9lvb4pv8qbmaf";
+    sha256 = "18mjmbhvfhr4463dqayl5hdjfy5rx7na1xsq9dsvlaz9qlr5fskw";
   };
 
   nativeBuildInputs = [ cmake asciidoc ];
 
   enableParallelBuilding = true;
 
-  postPatch = ''
-    sed -i 's,''${PACKAGE_PREFIX_DIR}/,,g' ZeroMQConfig.cmake.in
-  '';
+  doCheck = false; # fails all the tests (ctest)
 
   meta = with stdenv.lib; {
     branch = "4";
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
index f67964748dca1..9d00652771729 100644
--- a/pkgs/development/libraries/zimg/default.nix
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec{
   name = "zimg-${version}";
-  version = "2.7.4";
+  version = "2.7.5";
 
   src = fetchFromGitHub {
     owner  = "sekrit-twc";
     repo   = "zimg";
     rev    = "release-${version}";
-    sha256 = "1gpmf6algpl1g1z891jfnsici84scg2cq1kj4v90glgik9z99mci";
+    sha256 = "1f4iv99w1sn7kp8xlv2vr20m6qif7c8km1vqjfs9kf2305z5lxww";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index de2e0b62f9e24..fa6b8fb13b5a3 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls =
-      [ "http://www.zlib.net/fossils/${name}.tar.gz"  # stable archive path
+      [ "https://www.zlib.net/fossils/${name}.tar.gz"  # stable archive path
         "mirror://sourceforge/libpng/zlib/${version}/${name}.tar.gz"
       ];
     sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1";
@@ -74,6 +74,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
+    homepage = https://zlib.net;
     description = "Lossless data-compression library";
     license = licenses.zlib;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/zlog/default.nix b/pkgs/development/libraries/zlog/default.nix
index d3dc41371de37..21d8a7babb3ca 100644
--- a/pkgs/development/libraries/zlog/default.nix
+++ b/pkgs/development/libraries/zlog/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     homepage = http://hardysimpson.github.com/zlog;
     license = licenses.lgpl21;
     platforms = platforms.linux; # cannot test on something else
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = [ ];
   };
 
 }
diff --git a/pkgs/development/libraries/zmqpp/default.nix b/pkgs/development/libraries/zmqpp/default.nix
new file mode 100644
index 0000000000000..f7e849f6a3345
--- /dev/null
+++ b/pkgs/development/libraries/zmqpp/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, zeromq }:
+
+stdenv.mkDerivation rec {
+  name = "zmqpp-${version}";
+  version = "4.2.0";
+
+  src = fetchFromGitHub {
+    owner = "zeromq";
+    repo = "zmqpp";
+    rev = version;
+    sha256 = "08v34q3sd8g1b95k73n7jwryb0xzwca8ib9dz8ngczqf26j8k72i";
+  };
+
+  outputs = [ "out" "dev" ];
+
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  propagatedBuildInputs = [ zeromq ];
+
+  meta = with stdenv.lib; {
+    inherit (src.meta) homepage;
+    description = "C++ wrapper for czmq. Aims to be minimal, simple and consistent";
+    license = licenses.lgpl3;
+    platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ chris-martin ];
+  };
+}
diff --git a/pkgs/development/libraries/zookeeper_mt/default.nix b/pkgs/development/libraries/zookeeper_mt/default.nix
index 0ec24c828a6f0..58e1940a3ef4d 100644
--- a/pkgs/development/libraries/zookeeper_mt/default.nix
+++ b/pkgs/development/libraries/zookeeper_mt/default.nix
@@ -1,7 +1,7 @@
 { stdenv, zookeeper, bash }:
 
 stdenv.mkDerivation rec {
-   name = "zookeeper_mt";
+   name = "zookeeper_mt-${stdenv.lib.getVersion zookeeper}";
    
    src = zookeeper.src;
    
diff --git a/pkgs/development/libraries/zziplib/default.nix b/pkgs/development/libraries/zziplib/default.nix
index d43c481c8597f..6aede4e9653f5 100644
--- a/pkgs/development/libraries/zziplib/default.nix
+++ b/pkgs/development/libraries/zziplib/default.nix
@@ -2,19 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "zziplib-${version}";
-  version = "0.13.68";
+  version = "0.13.69";
 
   src = fetchurl {
     url = "https://github.com/gdraheim/zziplib/archive/v${version}.tar.gz";
-    sha256 = "0chhl6m02562z6c4hjy568mh11pbq2qngw6g2x924ajr8sdr2q4l";
+    sha256 = "0i052a7shww0fzsxrdp3rd7g4mbzx7324a8ysbc0br7frpblcql4";
   };
 
   postPatch = ''
     sed -i -e s,--export-dynamic,, configure
   '';
 
-  # TODO: still an issue: https://github.com/gdraheim/zziplib/issues/27
-
   buildInputs = [ docbook_xml_dtd_412 perl python2 zip xmlto zlib ];
 
   # tests are broken (https://github.com/gdraheim/zziplib/issues/20),