summary refs log tree commit diff
path: root/pkgs/development/libraries
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/libraries')
-rw-r--r--pkgs/development/libraries/CoinMP/default.nix2
-rw-r--r--pkgs/development/libraries/SDL/default.nix6
-rw-r--r--pkgs/development/libraries/a52dec/default.nix2
-rw-r--r--pkgs/development/libraries/aalib/default.nix2
-rw-r--r--pkgs/development/libraries/accelio/default.nix2
-rw-r--r--pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch27
-rw-r--r--pkgs/development/libraries/accountsservice/Disable-methods-that-change-files-in-etc.patch130
-rw-r--r--pkgs/development/libraries/accountsservice/default.nix25
-rw-r--r--pkgs/development/libraries/accountsservice/no-create-dirs.patch4
-rw-r--r--pkgs/development/libraries/acl/default.nix2
-rw-r--r--pkgs/development/libraries/agg/default.nix2
-rw-r--r--pkgs/development/libraries/allegro/default.nix2
-rw-r--r--pkgs/development/libraries/apr-util/default.nix2
-rw-r--r--pkgs/development/libraries/apr/default.nix2
-rw-r--r--pkgs/development/libraries/aqbanking/gwenhywfar.nix4
-rw-r--r--pkgs/development/libraries/at-spi2-core/default.nix2
-rw-r--r--pkgs/development/libraries/aterm/2.5.nix34
-rw-r--r--pkgs/development/libraries/aterm/max-long.patch77
-rw-r--r--pkgs/development/libraries/aterm/sizeof.patch56
-rw-r--r--pkgs/development/libraries/atk/default.nix2
-rw-r--r--pkgs/development/libraries/attr/default.nix2
-rw-r--r--pkgs/development/libraries/audio/libbs2b/default.nix2
-rw-r--r--pkgs/development/libraries/audio/lv2/default.nix4
-rw-r--r--pkgs/development/libraries/audio/lvtk/default.nix6
-rw-r--r--pkgs/development/libraries/audio/raul/default.nix4
-rw-r--r--pkgs/development/libraries/audio/suil/default.nix4
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix21
-rw-r--r--pkgs/development/libraries/belle-sip/default.nix43
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix2
-rw-r--r--pkgs/development/libraries/boost/generic.nix2
-rw-r--r--pkgs/development/libraries/cairo/default.nix2
-rw-r--r--pkgs/development/libraries/capstone/default.nix2
-rw-r--r--pkgs/development/libraries/cgui/default.nix3
-rw-r--r--pkgs/development/libraries/cloog/0.18.0.nix3
-rw-r--r--pkgs/development/libraries/clutter-gtk/0.10.8.nix4
-rw-r--r--pkgs/development/libraries/cmocka/default.nix16
-rw-r--r--pkgs/development/libraries/commoncpp2/default.nix2
-rw-r--r--pkgs/development/libraries/curlcpp/default.nix23
-rw-r--r--pkgs/development/libraries/cwiid/default.nix54
-rw-r--r--pkgs/development/libraries/cxxtest/default.nix35
-rw-r--r--pkgs/development/libraries/cyrus-sasl/default.nix2
-rw-r--r--pkgs/development/libraries/db/db-4.4.nix1
-rw-r--r--pkgs/development/libraries/db/db-4.5.nix1
-rw-r--r--pkgs/development/libraries/db/db-4.7.nix1
-rw-r--r--pkgs/development/libraries/db/db-4.8.nix1
-rw-r--r--pkgs/development/libraries/db/generic.nix5
-rw-r--r--pkgs/development/libraries/dbus-glib/default.nix2
-rw-r--r--pkgs/development/libraries/dbus/default.nix8
-rw-r--r--pkgs/development/libraries/epoxy/default.nix2
-rw-r--r--pkgs/development/libraries/exiv2/default.nix2
-rw-r--r--pkgs/development/libraries/expat/default.nix2
-rw-r--r--pkgs/development/libraries/faac/default.nix2
-rw-r--r--pkgs/development/libraries/farsight2/default.nix4
-rw-r--r--pkgs/development/libraries/farstream/default.nix4
-rw-r--r--pkgs/development/libraries/fastjson/default.nix6
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix16
-rw-r--r--pkgs/development/libraries/ffmpeg/2.8.nix4
-rw-r--r--pkgs/development/libraries/ffmpeg/3.1.nix7
-rw-r--r--pkgs/development/libraries/ffmpeg/generic.nix2
-rw-r--r--pkgs/development/libraries/ffmpeg/sdk_detection.patch12
-rw-r--r--pkgs/development/libraries/fftw/default.nix24
-rw-r--r--pkgs/development/libraries/fontconfig/2.10.nix2
-rw-r--r--pkgs/development/libraries/fontconfig/default.nix10
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-cache.nix2
-rw-r--r--pkgs/development/libraries/fontconfig/make-fonts-conf.nix6
-rw-r--r--pkgs/development/libraries/fox/default.nix2
-rw-r--r--pkgs/development/libraries/fox/fox-1.6.nix2
-rw-r--r--pkgs/development/libraries/frame/default.nix4
-rw-r--r--pkgs/development/libraries/freetds/default.nix2
-rw-r--r--pkgs/development/libraries/freetts/default.nix8
-rw-r--r--pkgs/development/libraries/freetype/default.nix2
-rw-r--r--pkgs/development/libraries/fribidi/default.nix4
-rw-r--r--pkgs/development/libraries/ganv/default.nix4
-rw-r--r--pkgs/development/libraries/gd/default.nix5
-rw-r--r--pkgs/development/libraries/gdal/default.nix4
-rw-r--r--pkgs/development/libraries/gdal/gdal-1_11.nix4
-rw-r--r--pkgs/development/libraries/gdk-pixbuf/default.nix2
-rw-r--r--pkgs/development/libraries/gdome2/default.nix2
-rw-r--r--pkgs/development/libraries/gegl/3.0.nix14
-rw-r--r--pkgs/development/libraries/gegl/default.nix4
-rw-r--r--pkgs/development/libraries/geoclue/default.nix6
-rw-r--r--pkgs/development/libraries/gettext/default.nix3
-rw-r--r--pkgs/development/libraries/ggz_base_libs/default.nix7
-rw-r--r--pkgs/development/libraries/giflib/4.1.nix4
-rw-r--r--pkgs/development/libraries/giflib/libungif.nix2
-rw-r--r--pkgs/development/libraries/gio-sharp/default.nix4
-rw-r--r--pkgs/development/libraries/glew/default.nix5
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix2
-rw-r--r--pkgs/development/libraries/glib/default.nix2
-rw-r--r--pkgs/development/libraries/glibc/common.nix2
-rw-r--r--pkgs/development/libraries/glibc/default.nix2
-rw-r--r--pkgs/development/libraries/glibc/multi.nix6
-rw-r--r--pkgs/development/libraries/glibmm/default.nix2
-rw-r--r--pkgs/development/libraries/gmime/default.nix2
-rw-r--r--pkgs/development/libraries/gmp/4.3.2.nix11
-rw-r--r--pkgs/development/libraries/gmp/5.1.x.nix14
-rw-r--r--pkgs/development/libraries/gmp/6.x.nix4
-rw-r--r--pkgs/development/libraries/gnome-sharp/default.nix6
-rw-r--r--pkgs/development/libraries/gnu-efi/default.nix2
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix4
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix2
-rw-r--r--pkgs/development/libraries/goffice/0.8.nix4
-rw-r--r--pkgs/development/libraries/goocanvas/default.nix4
-rw-r--r--pkgs/development/libraries/gperftools/default.nix12
-rw-r--r--pkgs/development/libraries/gpgme/default.nix2
-rw-r--r--pkgs/development/libraries/grail/default.nix5
-rw-r--r--pkgs/development/libraries/gsl/default.nix4
-rw-r--r--pkgs/development/libraries/gsm/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/python/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix2
-rw-r--r--pkgs/development/libraries/gtdialog/default.nix4
-rw-r--r--pkgs/development/libraries/gtk+/2.x.nix8
-rw-r--r--pkgs/development/libraries/gtk+/3.x.nix6
-rw-r--r--pkgs/development/libraries/gtk-sharp-beans/default.nix4
-rw-r--r--pkgs/development/libraries/gtk-sharp/2.0.nix8
-rw-r--r--pkgs/development/libraries/gtk-sharp/3.0.nix2
-rw-r--r--pkgs/development/libraries/gtkdatabox/default.nix6
-rw-r--r--pkgs/development/libraries/gtkimageview/default.nix4
-rw-r--r--pkgs/development/libraries/gtkmathview/default.nix7
-rw-r--r--pkgs/development/libraries/gtkmm/2.x.nix4
-rw-r--r--pkgs/development/libraries/gtkmozembed-sharp/default.nix4
-rw-r--r--pkgs/development/libraries/gtkspell/default.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix2
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix2
-rw-r--r--pkgs/development/libraries/hspell/default.nix2
-rw-r--r--pkgs/development/libraries/hunspell/default.nix4
-rw-r--r--pkgs/development/libraries/hyena/default.nix4
-rw-r--r--pkgs/development/libraries/icu/54.1.nix2
-rw-r--r--pkgs/development/libraries/icu/default.nix2
-rw-r--r--pkgs/development/libraries/ignition-transport/generic.nix4
-rw-r--r--pkgs/development/libraries/ilmbase/default.nix4
-rw-r--r--pkgs/development/libraries/imlib/default.nix4
-rw-r--r--pkgs/development/libraries/isl/0.14.1.nix3
-rw-r--r--pkgs/development/libraries/itk/default.nix7
-rw-r--r--pkgs/development/libraries/jasper/default.nix2
-rw-r--r--pkgs/development/libraries/java/aterm/default.nix14
-rw-r--r--pkgs/development/libraries/java/classpath/default.nix4
-rw-r--r--pkgs/development/libraries/java/javasvn/default.nix2
-rw-r--r--pkgs/development/libraries/java/rhino/default.nix2
-rw-r--r--pkgs/development/libraries/java/swt/default.nix27
-rw-r--r--pkgs/development/libraries/json-c/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix2
-rw-r--r--pkgs/development/libraries/keybinder/default.nix2
-rw-r--r--pkgs/development/libraries/keybinder3/default.nix4
-rw-r--r--pkgs/development/libraries/lcms/default.nix2
-rw-r--r--pkgs/development/libraries/lcms2/default.nix2
-rw-r--r--pkgs/development/libraries/lensfun/default.nix2
-rw-r--r--pkgs/development/libraries/libao/default.nix2
-rw-r--r--pkgs/development/libraries/libappindicator/default.nix8
-rw-r--r--pkgs/development/libraries/libarchive/default.nix19
-rw-r--r--pkgs/development/libraries/libassuan/default.nix2
-rw-r--r--pkgs/development/libraries/libav/default.nix4
-rw-r--r--pkgs/development/libraries/libb2/default.nix12
-rw-r--r--pkgs/development/libraries/libb64/default.nix2
-rw-r--r--pkgs/development/libraries/libcaca/default.nix2
-rw-r--r--pkgs/development/libraries/libcdaudio/default.nix2
-rw-r--r--pkgs/development/libraries/libchop/default.nix4
-rw-r--r--pkgs/development/libraries/libcommuni/default.nix17
-rw-r--r--pkgs/development/libraries/libdiscid/default.nix2
-rw-r--r--pkgs/development/libraries/libdnet/default.nix2
-rw-r--r--pkgs/development/libraries/libdrm/default.nix11
-rw-r--r--pkgs/development/libraries/libdwg/default.nix2
-rw-r--r--pkgs/development/libraries/libdynd/default.nix2
-rw-r--r--pkgs/development/libraries/libedit/default.nix12
-rw-r--r--pkgs/development/libraries/libedit/freebsd-wchar.patch13
-rw-r--r--pkgs/development/libraries/libedit/freebsd.patch13
-rw-r--r--pkgs/development/libraries/libelf/default.nix3
-rw-r--r--pkgs/development/libraries/libevent/default.nix2
-rw-r--r--pkgs/development/libraries/libf2c/default.nix4
-rw-r--r--pkgs/development/libraries/libffi/default.nix2
-rw-r--r--pkgs/development/libraries/libfm/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix2
-rw-r--r--pkgs/development/libraries/libgeotiff/default.nix4
-rw-r--r--pkgs/development/libraries/libgksu/default.nix8
-rw-r--r--pkgs/development/libraries/libgnome-keyring/default.nix2
-rw-r--r--pkgs/development/libraries/libgpg-error/default.nix2
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix2
-rw-r--r--pkgs/development/libraries/libgpod/default.nix8
-rw-r--r--pkgs/development/libraries/libidn/default.nix4
-rw-r--r--pkgs/development/libraries/libindicate/default.nix8
-rw-r--r--pkgs/development/libraries/libinfinity/default.nix4
-rw-r--r--pkgs/development/libraries/libinput/default.nix2
-rw-r--r--pkgs/development/libraries/libiodbc/default.nix4
-rw-r--r--pkgs/development/libraries/libjpeg-drop/default.nix2
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix2
-rw-r--r--pkgs/development/libraries/libjpeg/62.nix2
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix2
-rw-r--r--pkgs/development/libraries/libjson-rpc-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/libmaxminddb/default.nix19
-rw-r--r--pkgs/development/libraries/libmbim/default.nix2
-rw-r--r--pkgs/development/libraries/libmicrohttpd/default.nix2
-rw-r--r--pkgs/development/libraries/libmng/default.nix4
-rw-r--r--pkgs/development/libraries/libmnl/default.nix4
-rw-r--r--pkgs/development/libraries/libmp3splt/default.nix2
-rw-r--r--pkgs/development/libraries/libmpc/default.nix3
-rw-r--r--pkgs/development/libraries/libmtp/default.nix4
-rw-r--r--pkgs/development/libraries/libmusicbrainz/2.x.nix2
-rw-r--r--pkgs/development/libraries/libnftnl/default.nix4
-rw-r--r--pkgs/development/libraries/libofx/default.nix2
-rw-r--r--pkgs/development/libraries/libogg/default.nix2
-rw-r--r--pkgs/development/libraries/liboil/default.nix2
-rw-r--r--pkgs/development/libraries/libopus/default.nix6
-rw-r--r--pkgs/development/libraries/libpng/12.nix2
-rw-r--r--pkgs/development/libraries/libpng/default.nix2
-rw-r--r--pkgs/development/libraries/libproxy/default.nix2
-rw-r--r--pkgs/development/libraries/libqmi/default.nix2
-rw-r--r--pkgs/development/libraries/libraw/default.nix2
-rw-r--r--pkgs/development/libraries/libre/default.nix2
-rw-r--r--pkgs/development/libraries/librelp/default.nix4
-rw-r--r--pkgs/development/libraries/librem/default.nix5
-rw-r--r--pkgs/development/libraries/libressl/2.3.nix2
-rw-r--r--pkgs/development/libraries/libressl/2.4.nix2
-rw-r--r--pkgs/development/libraries/librsvg/default.nix2
-rw-r--r--pkgs/development/libraries/librsync/0.9.nix6
-rw-r--r--pkgs/development/libraries/libsamplerate/default.nix2
-rw-r--r--pkgs/development/libraries/libseccomp/default.nix4
-rw-r--r--pkgs/development/libraries/libsexy/default.nix4
-rw-r--r--pkgs/development/libraries/libsndfile/default.nix6
-rw-r--r--pkgs/development/libraries/libsodium/default.nix2
-rw-r--r--pkgs/development/libraries/libsoup/default.nix9
-rw-r--r--pkgs/development/libraries/libspatialite/default.nix6
-rw-r--r--pkgs/development/libraries/libssh/default.nix2
-rw-r--r--pkgs/development/libraries/libssh2/default.nix2
-rw-r--r--pkgs/development/libraries/libtasn1/default.nix2
-rw-r--r--pkgs/development/libraries/libtcod/default.nix4
-rw-r--r--pkgs/development/libraries/libtelnet/default.nix24
-rw-r--r--pkgs/development/libraries/libtheora/default.nix4
-rw-r--r--pkgs/development/libraries/libtiff/default.nix7
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/0.16.nix6
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/1.0.nix6
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/1.09.nix6
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/default.nix4
-rw-r--r--pkgs/development/libraries/libtoxcore/new-api/default.nix10
-rw-r--r--pkgs/development/libraries/libunique/default.nix4
-rw-r--r--pkgs/development/libraries/libunwind/default.nix3
-rw-r--r--pkgs/development/libraries/libusb/default.nix2
-rw-r--r--pkgs/development/libraries/libusb1/default.nix8
-rw-r--r--pkgs/development/libraries/libva/default.nix2
-rw-r--r--pkgs/development/libraries/libvdpau/default.nix2
-rw-r--r--pkgs/development/libraries/libvirt-glib/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix4
-rw-r--r--pkgs/development/libraries/libvisual/default.nix2
-rw-r--r--pkgs/development/libraries/libvorbis/default.nix2
-rw-r--r--pkgs/development/libraries/libvpx/default.nix2
-rw-r--r--pkgs/development/libraries/libvpx/git.nix2
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix2
-rw-r--r--pkgs/development/libraries/libwnck/default.nix6
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix2
-rw-r--r--pkgs/development/libraries/libxklavier/default.nix2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix2
-rw-r--r--pkgs/development/libraries/libxslt/default.nix2
-rw-r--r--pkgs/development/libraries/libyaml-cpp/default.nix8
-rw-r--r--pkgs/development/libraries/libyaml/default.nix10
-rw-r--r--pkgs/development/libraries/libzip/default.nix2
-rw-r--r--pkgs/development/libraries/mapnik/default.nix2
-rw-r--r--pkgs/development/libraries/mbedtls/1.3.nix34
-rw-r--r--pkgs/development/libraries/mediastreamer/default.nix37
-rw-r--r--pkgs/development/libraries/mediastreamer/msopenh264.nix14
-rw-r--r--pkgs/development/libraries/mesa-glu/default.nix2
-rw-r--r--pkgs/development/libraries/mesa/default.nix133
-rw-r--r--pkgs/development/libraries/ming/default.nix2
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix2
-rw-r--r--pkgs/development/libraries/motif/default.nix2
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix4
-rw-r--r--pkgs/development/libraries/mpfr/default.nix5
-rw-r--r--pkgs/development/libraries/ncurses/default.nix2
-rw-r--r--pkgs/development/libraries/netcdf/default.nix2
-rw-r--r--pkgs/development/libraries/nettle/generic.nix2
-rw-r--r--pkgs/development/libraries/nghttp2/default.nix2
-rw-r--r--pkgs/development/libraries/nlohmann_json/default.nix13
-rw-r--r--pkgs/development/libraries/nspr/default.nix2
-rw-r--r--pkgs/development/libraries/nss/default.nix2
-rw-r--r--pkgs/development/libraries/ntl/default.nix36
-rw-r--r--pkgs/development/libraries/ntrack/default.nix2
-rw-r--r--pkgs/development/libraries/nvidia-texture-tools/default.nix2
-rw-r--r--pkgs/development/libraries/opencascade/6.5.nix2
-rw-r--r--pkgs/development/libraries/opencascade/default.nix19
-rw-r--r--pkgs/development/libraries/opencascade/oce.nix6
-rw-r--r--pkgs/development/libraries/opencolorio/default.nix11
-rw-r--r--pkgs/development/libraries/opencv/3.x.nix4
-rw-r--r--pkgs/development/libraries/opencv/default.nix4
-rw-r--r--pkgs/development/libraries/openexr/default.nix2
-rw-r--r--pkgs/development/libraries/openjpeg/generic.nix2
-rw-r--r--pkgs/development/libraries/openldap/default.nix15
-rw-r--r--pkgs/development/libraries/openmpi/default.nix4
-rw-r--r--pkgs/development/libraries/openscenegraph/default.nix4
-rw-r--r--pkgs/development/libraries/openssl/1.0.1-CVE-2016-2177.diff256
-rw-r--r--pkgs/development/libraries/openssl/1.0.2-CVE-2016-2177.diff279
-rw-r--r--pkgs/development/libraries/openssl/chacha.nix8
-rw-r--r--pkgs/development/libraries/openssl/default.nix15
-rw-r--r--pkgs/development/libraries/opensubdiv/default.nix14
-rw-r--r--pkgs/development/libraries/ortp/default.nix18
-rw-r--r--pkgs/development/libraries/osm-gps-map/default.nix2
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix2
-rw-r--r--pkgs/development/libraries/pango/default.nix6
-rw-r--r--pkgs/development/libraries/pcaudiolib/default.nix29
-rw-r--r--pkgs/development/libraries/pcre/default.nix2
-rw-r--r--pkgs/development/libraries/pcre2/default.nix21
-rw-r--r--pkgs/development/libraries/pdf2xml/default.nix10
-rw-r--r--pkgs/development/libraries/plib/default.nix5
-rw-r--r--pkgs/development/libraries/polkit-qt-1/qt-5.nix2
-rw-r--r--pkgs/development/libraries/polkit/default.nix2
-rw-r--r--pkgs/development/libraries/poppler/default.nix4
-rw-r--r--pkgs/development/libraries/portmidi/default.nix2
-rw-r--r--pkgs/development/libraries/pupnp/default.nix2
-rw-r--r--pkgs/development/libraries/qhull/default.nix2
-rw-r--r--pkgs/development/libraries/qt-3/default.nix2
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.5/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtbase/default.nix8
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.7/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtbase/default.nix2
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix4
-rw-r--r--pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix10
-rw-r--r--pkgs/development/libraries/qt-5/qt-env.nix4
-rw-r--r--pkgs/development/libraries/qtkeychain/default.nix19
-rw-r--r--pkgs/development/libraries/qtscriptgenerator/default.nix10
-rw-r--r--pkgs/development/libraries/readline/6.3.nix2
-rw-r--r--pkgs/development/libraries/schroedinger/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/atlas/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/openblas/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/openlibm/default.nix7
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/default.nix2
-rw-r--r--pkgs/development/libraries/sdformat/default.nix4
-rw-r--r--pkgs/development/libraries/sfml/default.nix1
-rw-r--r--pkgs/development/libraries/slang/default.nix2
-rw-r--r--pkgs/development/libraries/smpeg/default.nix6
-rw-r--r--pkgs/development/libraries/sonic/default.nix25
-rw-r--r--pkgs/development/libraries/speechd/default.nix6
-rw-r--r--pkgs/development/libraries/speex/default.nix2
-rw-r--r--pkgs/development/libraries/speexdsp/default.nix2
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/sqlite/default.nix8
-rw-r--r--pkgs/development/libraries/tcltls/default.nix22
-rw-r--r--pkgs/development/libraries/tidyp/default.nix2
-rw-r--r--pkgs/development/libraries/tk/generic.nix11
-rw-r--r--pkgs/development/libraries/torch-hdf5/default.nix19
-rw-r--r--pkgs/development/libraries/torch/default.nix12
-rw-r--r--pkgs/development/libraries/ucommon/default.nix8
-rw-r--r--pkgs/development/libraries/vapoursynth-mvtools/default.nix29
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix36
-rw-r--r--pkgs/development/libraries/vigra/default.nix2
-rw-r--r--pkgs/development/libraries/vrpn/default.nix50
-rw-r--r--pkgs/development/libraries/vxl/default.nix14
-rw-r--r--pkgs/development/libraries/vxl/gcc5.patch15
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/2.10.nix2
-rw-r--r--pkgs/development/libraries/webkitgtk/2.12.nix2
-rw-r--r--pkgs/development/libraries/webkitgtk/2.4.nix5
-rw-r--r--pkgs/development/libraries/wlc/default.nix48
-rw-r--r--pkgs/development/libraries/wolfssl/default.nix2
-rw-r--r--pkgs/development/libraries/wxGTK-2.8/default.nix11
-rw-r--r--pkgs/development/libraries/wxGTK-2.9/default.nix11
-rw-r--r--pkgs/development/libraries/wxGTK-3.0/default.nix11
-rw-r--r--pkgs/development/libraries/x265/default.nix4
-rw-r--r--pkgs/development/libraries/xapian/bindings/default.nix24
-rw-r--r--pkgs/development/libraries/xapian/default.nix4
-rw-r--r--pkgs/development/libraries/xapian/tools/omega/default.nix20
-rw-r--r--pkgs/development/libraries/xcb-util-cursor/HEAD.nix2
-rw-r--r--pkgs/development/libraries/xlslib/default.nix2
-rw-r--r--pkgs/development/libraries/xmlrpc-c/default.nix2
-rw-r--r--pkgs/development/libraries/zimg/default.nix23
-rw-r--r--pkgs/development/libraries/zlib/default.nix8
383 files changed, 2198 insertions, 1089 deletions
diff --git a/pkgs/development/libraries/CoinMP/default.nix b/pkgs/development/libraries/CoinMP/default.nix
index e819078f7868..079c0a5cf6f7 100644
--- a/pkgs/development/libraries/CoinMP/default.nix
+++ b/pkgs/development/libraries/CoinMP/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "0gqi2vqkg35gazzzv8asnhihchnbjcd6bzjfzqhmj7wy1dw9iiw6";
   };
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     homepage = https://projects.coin-or.org/CoinMP/;
     description = "COIN-OR lightweight API for COIN-OR libraries CLP, CBC, and CGL";
diff --git a/pkgs/development/libraries/SDL/default.nix b/pkgs/development/libraries/SDL/default.nix
index ca0bbd6a01cf..fb61233dfcb3 100644
--- a/pkgs/development/libraries/SDL/default.nix
+++ b/pkgs/development/libraries/SDL/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, pkgconfig, audiofile, libcap
-, openglSupport ? false, mesa_noglu
+, openglSupport ? false, mesa_noglu, mesa_glu
 , alsaSupport ? true, alsaLib
 , x11Support ? true, libXext, libICE, libXrandr
 , pulseaudioSupport ? true, libpulseaudio
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev"; # sdl-config
 
   nativeBuildInputs = [ pkgconfig ];
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     optionals x11Support [ libXext libICE libXrandr ] ++
     optional alsaSupport alsaLib ++
     optional stdenv.isLinux libcap ++
-    optional openglSupport mesa_noglu ++
+    optionals openglSupport [ mesa_noglu mesa_glu ] ++
     optional pulseaudioSupport libpulseaudio ++
     optional stdenv.isDarwin Cocoa;
 
diff --git a/pkgs/development/libraries/a52dec/default.nix b/pkgs/development/libraries/a52dec/default.nix
index 5c7cd9fddc62..d8a56a3d28ed 100644
--- a/pkgs/development/libraries/a52dec/default.nix
+++ b/pkgs/development/libraries/a52dec/default.nix
@@ -8,8 +8,6 @@ stdenv.mkDerivation rec {
     sha256 = "0czccp4fcpf2ykp16xcrzdfmnircz1ynhls334q374xknd5747d2";
   };
 
-  NIX_CFLAGS_COMPILE = "-fpic";
-
   # From Handbrake
   patches = [
     ./A00-a52-state-t-public.patch
diff --git a/pkgs/development/libraries/aalib/default.nix b/pkgs/development/libraries/aalib/default.nix
index 0d6986727210..2615cac7b90c 100644
--- a/pkgs/development/libraries/aalib/default.nix
+++ b/pkgs/development/libraries/aalib/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1vkh19gb76agvh4h87ysbrgy82hrw88lnsvhynjf4vng629dmpgv";
   };
 
-  outputs = [ "dev" "out" "bin" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
   setOutputFlags = false; # Doesn't support all the flags
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./darwin.patch ];
diff --git a/pkgs/development/libraries/accelio/default.nix b/pkgs/development/libraries/accelio/default.nix
index 76c5cf32bbdb..002b26078f53 100644
--- a/pkgs/development/libraries/accelio/default.nix
+++ b/pkgs/development/libraries/accelio/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
     sha256 = "172frqk2n43g0arhazgcwfvj0syf861vdzdpxl7idr142bb0ykf7";
   };
 
+  hardeningDisable = [ "format" "pic" ];
+
   patches = [ ./fix-printfs.patch ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch b/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch
new file mode 100644
index 000000000000..f5d9e5695026
--- /dev/null
+++ b/pkgs/development/libraries/accountsservice/Add-nixbld-to-user-blacklist.patch
@@ -0,0 +1,27 @@
+From e069102365a9ff03822667f435e662f938e8d768 Mon Sep 17 00:00:00 2001
+From: Alexander Ried <ried@mytum.de>
+Date: Wed, 1 Jun 2016 12:49:48 +0200
+Subject: [PATCH] Add nixbld* to user blacklist
+
+---
+ src/user-classify.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/user-classify.c b/src/user-classify.c
+index 69e6809..0e152b6 100644
+--- a/src/user-classify.c
++++ b/src/user-classify.c
+@@ -75,6 +75,10 @@ user_classify_is_blacklisted (const char *username)
+                 return TRUE;
+         }
+ 
++        if (g_str_has_prefix (username, "nixbld")) {
++                return TRUE;
++        }
++
+         return FALSE;
+ }
+ 
+-- 
+2.7.4
+
diff --git a/pkgs/development/libraries/accountsservice/Disable-methods-that-change-files-in-etc.patch b/pkgs/development/libraries/accountsservice/Disable-methods-that-change-files-in-etc.patch
new file mode 100644
index 000000000000..acaccb8c8485
--- /dev/null
+++ b/pkgs/development/libraries/accountsservice/Disable-methods-that-change-files-in-etc.patch
@@ -0,0 +1,130 @@
+From 6f172007452b39bfda5062fc29ea5382671ac16e Mon Sep 17 00:00:00 2001
+From: Alexander Ried <ried@mytum.de>
+Date: Thu, 26 May 2016 19:54:21 +0200
+Subject: [PATCH] Disable methods that change files in /etc
+
+Only if environment variable NIXOS_USERS_PURE is set.
+---
+ src/daemon.c | 10 ++++++++++
+ src/user.c   | 35 +++++++++++++++++++++++++++++++++++
+ 2 files changed, 45 insertions(+)
+
+diff --git a/src/daemon.c b/src/daemon.c
+index e62e124..87459b2 100644
+--- a/src/daemon.c
++++ b/src/daemon.c
+@@ -931,6 +931,11 @@ daemon_create_user (AccountsAccounts      *accounts,
+                     const gchar           *real_name,
+                     gint                   account_type)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         Daemon *daemon = (Daemon*)accounts;
+         CreateUserData *data;
+ 
+@@ -1138,6 +1143,11 @@ daemon_delete_user (AccountsAccounts      *accounts,
+                     gint64                 uid,
+                     gboolean               remove_files)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         Daemon *daemon = (Daemon*)accounts;
+         DeleteUserData *data;
+ 
+diff --git a/src/user.c b/src/user.c
+index 0fb1a17..dbdebaf 100644
+--- a/src/user.c
++++ b/src/user.c
+@@ -904,6 +904,11 @@ user_set_real_name (AccountsUser          *auser,
+                     GDBusMethodInvocation *context,
+                     const gchar           *real_name)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         int uid;
+         const gchar *action_id;
+@@ -981,6 +986,11 @@ user_set_user_name (AccountsUser          *auser,
+                     GDBusMethodInvocation *context,
+                     const gchar           *user_name)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         daemon_local_check_auth (user->daemon,
+                                  user,
+@@ -1263,6 +1273,11 @@ user_set_home_directory (AccountsUser          *auser,
+                          GDBusMethodInvocation *context,
+                          const gchar           *home_dir)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         daemon_local_check_auth (user->daemon,
+                                  user,
+@@ -1322,6 +1337,11 @@ user_set_shell (AccountsUser          *auser,
+                 GDBusMethodInvocation *context,
+                 const gchar           *shell)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         daemon_local_check_auth (user->daemon,
+                                  user,
+@@ -1602,6 +1622,11 @@ user_set_locked (AccountsUser          *auser,
+                  GDBusMethodInvocation *context,
+                  gboolean               locked)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         daemon_local_check_auth (user->daemon,
+                                  user,
+@@ -1814,6 +1839,11 @@ user_set_password_mode (AccountsUser          *auser,
+                         GDBusMethodInvocation *context,
+                         gint                   mode)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         const gchar *action_id;
+ 
+@@ -1905,6 +1935,11 @@ user_set_password (AccountsUser          *auser,
+                    const gchar           *password,
+                    const gchar           *hint)
+ {
++        if (getenv("NIXOS_USERS_PURE")) {
++                throw_error (context, ERROR_NOT_SUPPORTED, "Modifying users not supported without users.mutableUsers");
++                return;
++        }
++
+         User *user = (User*)auser;
+         gchar **data;
+ 
+-- 
+2.9.3
+
diff --git a/pkgs/development/libraries/accountsservice/default.nix b/pkgs/development/libraries/accountsservice/default.nix
index 83e3a0b2c590..2dc6b57c339f 100644
--- a/pkgs/development/libraries/accountsservice/default.nix
+++ b/pkgs/development/libraries/accountsservice/default.nix
@@ -1,13 +1,13 @@
-{ stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper
+{ stdenv, fetchurl, pkgconfig, glib, intltool, makeWrapper, shadow
 , libtool, gobjectIntrospection, polkit, systemd, coreutils }:
 
 stdenv.mkDerivation rec {
   name = "accountsservice-${version}";
-  version = "0.6.40";
-  
+  version = "0.6.42";
+
   src = fetchurl {
     url = "http://www.freedesktop.org/software/accountsservice/accountsservice-${version}.tar.xz";
-    sha256 = "0ayb3y3l25dmwxlh9g071h02mphjfbkvi2k5f635bayb01k7akzh";
+    sha256 = "0zh0kjpdc631qh36plcgpwvnmh9wj8l5cki3aw5r09w6y7198r75";
   };
 
   buildInputs = [ pkgconfig glib intltool libtool makeWrapper
@@ -15,10 +15,21 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
                      "--localstatedir=/var" ];
+  prePatch = ''
+    substituteInPlace src/daemon.c --replace '"/usr/sbin/useradd"' '"${shadow}/bin/useradd"' \
+                                   --replace '"/usr/sbin/userdel"' '"${shadow}/bin/userdel"'
+    substituteInPlace src/user.c   --replace '"/usr/sbin/usermod"' '"${shadow}/bin/usermod"' \
+                                   --replace '"/usr/bin/chage"' '"${shadow}/bin/chage"' \
+                                   --replace '"/usr/bin/passwd"' '"${shadow}/bin/passwd"' \
+                                   --replace '"/bin/cat"' '"${coreutils}/bin/cat"'
+  '';
+
+  patches = [
+    ./no-create-dirs.patch
+    ./Add-nixbld-to-user-blacklist.patch
+    ./Disable-methods-that-change-files-in-etc.patch
+  ];
 
-  patches = [ ./no-create-dirs.patch ];
-  patchFlags = "-p0";
-  
   preFixup = ''
     wrapProgram "$out/libexec/accounts-daemon" \
       --run "${coreutils}/bin/mkdir -p /var/lib/AccountsService/users" \
diff --git a/pkgs/development/libraries/accountsservice/no-create-dirs.patch b/pkgs/development/libraries/accountsservice/no-create-dirs.patch
index a0c7ca23598f..f26f5c738227 100644
--- a/pkgs/development/libraries/accountsservice/no-create-dirs.patch
+++ b/pkgs/development/libraries/accountsservice/no-create-dirs.patch
@@ -1,5 +1,5 @@
---- src/Makefile.in.orig	2014-04-23 22:30:00.276005326 +0200
-+++ src/Makefile.in	2014-04-23 22:30:16.809409113 +0200
+--- a/src/Makefile.in	2014-04-23 22:30:00.276005326 +0200
++++ b/src/Makefile.in	2014-04-23 22:30:16.809409113 +0200
 @@ -881,8 +881,8 @@
  	gdbus-codegen --generate-c-code accounts-user-generated --c-namespace Accounts --interface-prefix=org.freedesktop.Accounts. $(top_srcdir)/data/org.freedesktop.Accounts.User.xml
  
diff --git a/pkgs/development/libraries/acl/default.nix b/pkgs/development/libraries/acl/default.nix
index 29b31a8b492c..b29a12e6f412 100644
--- a/pkgs/development/libraries/acl/default.nix
+++ b/pkgs/development/libraries/acl/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "08qd9s3wfhv0ajswsylnfwr5h0d7j9d4rgip855nrh400nxp940p";
   };
 
-  outputs = [ "dev" "out" "bin" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   nativeBuildInputs = [ gettext ];
   buildInputs = [ attr ];
diff --git a/pkgs/development/libraries/agg/default.nix b/pkgs/development/libraries/agg/default.nix
index 549310931f9e..8b8d3a29193f 100644
--- a/pkgs/development/libraries/agg/default.nix
+++ b/pkgs/development/libraries/agg/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     sh autogen.sh
   '';
 
-  configureFlags = "--x-includes=${libX11}/include --x-libraries=${libX11}/lib";
+  configureFlags = "--x-includes=${libX11.dev}/include --x-libraries=${libX11.out}/lib";
 
   meta = {
     description = "High quality rendering engine for C++";
diff --git a/pkgs/development/libraries/allegro/default.nix b/pkgs/development/libraries/allegro/default.nix
index deb3a6877e89..997a8d223054 100644
--- a/pkgs/development/libraries/allegro/default.nix
+++ b/pkgs/development/libraries/allegro/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
     xf86dgaproto xf86miscproto xf86vidmodeproto libXxf86vm openal mesa
   ];
 
+  hardeningDisable = [ "format" ];
+
   cmakeFlags = [ "-DCMAKE_SKIP_RPATH=ON" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index b0d75d37e08f..81e8a8a52f9f 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   patches = optional stdenv.isFreeBSD ./include-static-dependencies.patch;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   buildInputs = optional stdenv.isFreeBSD autoreconfHook;
diff --git a/pkgs/development/libraries/apr/default.nix b/pkgs/development/libraries/apr/default.nix
index c6e505f43d23..329cd77ad267 100644
--- a/pkgs/development/libraries/apr/default.nix
+++ b/pkgs/development/libraries/apr/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optionals stdenv.isDarwin [ ./is-this-a-compiler-bug.patch ];
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   preConfigure =
diff --git a/pkgs/development/libraries/aqbanking/gwenhywfar.nix b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
index 70e7b1c33c0d..9b6ba128512c 100644
--- a/pkgs/development/libraries/aqbanking/gwenhywfar.nix
+++ b/pkgs/development/libraries/aqbanking/gwenhywfar.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gnutls, gtk, libgcrypt, pkgconfig, gettext, qt4
+{ stdenv, fetchurl, gnutls, gtk2, libgcrypt, pkgconfig, gettext, qt4
 
 , pluginSearchPaths ? [
     "/run/current-system/sw/lib/gwenhywfar/plugins"
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ pkgconfig gettext ];
 
-  buildInputs = [ gtk qt4 gnutls libgcrypt ];
+  buildInputs = [ gtk2 qt4 gnutls libgcrypt ];
 
   QTDIR = qt4;
 
diff --git a/pkgs/development/libraries/at-spi2-core/default.nix b/pkgs/development/libraries/at-spi2-core/default.nix
index 20e18747e67b..52459f853747 100644
--- a/pkgs/development/libraries/at-spi2-core/default.nix
+++ b/pkgs/development/libraries/at-spi2-core/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "88a4de9d43139f13cca531b47b901bc1b56e0ab06ba899126644abd4ac16a143";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [
     python pkgconfig popt  intltool dbus_glib
diff --git a/pkgs/development/libraries/aterm/2.5.nix b/pkgs/development/libraries/aterm/2.5.nix
deleted file mode 100644
index c1bbbb0ae5a9..000000000000
--- a/pkgs/development/libraries/aterm/2.5.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "aterm-2.5-r21238";
-
-  src = fetchurl {
-    url = http://buildfarm.st.ewi.tudelft.nl/releases/meta-environment/aterm-2.5pre21238-l2q7rg38/aterm-2.5.tar.gz;
-    md5 = "33ddcb1a229baf406ad1f603eb1d5995";
-  };
-
-  patches = [
-    # Fix for http://bugzilla.sen.cwi.nl:8080/show_bug.cgi?id=841
-    ./max-long.patch
-
-    # Patch the ATerm header files so that they don't rely on
-    # SIZEOF_LONG, SIZEOF_INT and SIZEOF_VOID_P being set.
-    ./sizeof.patch
-  ];
-
-  doCheck = true;
-
-  dontDisableStatic = true;
-
-  NIX_CFLAGS_COMPILE = "-D__USE_BSD";
-
-  meta = {
-    homepage = http://www.cwi.nl/htbin/sen1/twiki/bin/view/SEN1/ATerm;
-    license = "LGPL";
-    description = "Library for manipulation of term data structures in C";
-    platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
-    maintainers = [ stdenv.lib.maintainers.eelco ];
-    broken = true;
-  };
-}
diff --git a/pkgs/development/libraries/aterm/max-long.patch b/pkgs/development/libraries/aterm/max-long.patch
deleted file mode 100644
index a2f260b970b3..000000000000
--- a/pkgs/development/libraries/aterm/max-long.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff -rc aterm-2.8-orig/aterm/hash.c aterm-2.8/aterm/hash.c
-*** aterm-2.8-orig/aterm/hash.c	2008-11-10 13:54:22.000000000 +0100
---- aterm-2.8/aterm/hash.c	2009-01-27 18:14:14.000000000 +0100
-***************
-*** 93,146 ****
-  }
-  
-  /*}}}  */
-- /*{{{  static long calc_long_max() */
-- static long calc_long_max()
-- {
--   long try_long_max;
--   long long_max;
--   long delta;
-- 
--   try_long_max = 1;
--   do {
--     long_max = try_long_max;
--     try_long_max = long_max * 2;
--   } while (try_long_max > 0);
-- 
--   delta = long_max;
--   while (delta > 1) {
--     while (long_max + delta < 0) {
--       delta /= 2;
--     }
--     long_max += delta;
--   }
-- 
--   return long_max;
-- 
-- }
-- /*}}}  */
-  /*{{{  static long calculateNewSize(sizeMinus1, nrdel, nrentries) */
-  
-  static long calculateNewSize
-  (long sizeMinus1, long nr_deletions, long nr_entries)
-  { 
-- 
--   /* Hack: LONG_MAX (limits.h) is often unreliable, we need to find
--    * out the maximum possible value of a signed long dynamically.
--    */
--   static long st_long_max = 0;
-- 
--   /* the resulting length has the form 2^k-1 */
-- 
-    if (nr_deletions >= nr_entries/2) { 
-      return sizeMinus1;
-    }
-  
-!   if (st_long_max == 0) {
-!     st_long_max = calc_long_max();
-!   }
-! 
-!   if (sizeMinus1 > st_long_max / 2) {
-!     return st_long_max-1;
-    }
-  
-    return (2*sizeMinus1)+1;
---- 93,109 ----
-  }
-  
-  /*}}}  */
-  /*{{{  static long calculateNewSize(sizeMinus1, nrdel, nrentries) */
-  
-  static long calculateNewSize
-  (long sizeMinus1, long nr_deletions, long nr_entries)
-  { 
-    if (nr_deletions >= nr_entries/2) { 
-      return sizeMinus1;
-    }
-  
-!   if (sizeMinus1 > LONG_MAX / 2) {
-!     return LONG_MAX-1;
-    }
-  
-    return (2*sizeMinus1)+1;
diff --git a/pkgs/development/libraries/aterm/sizeof.patch b/pkgs/development/libraries/aterm/sizeof.patch
deleted file mode 100644
index 2649cc564913..000000000000
--- a/pkgs/development/libraries/aterm/sizeof.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-diff -rc -x '*~' aterm-2.5-orig/aterm/aterm.c aterm-2.5/aterm/aterm.c
-*** aterm-2.5-orig/aterm/aterm.c	2007-02-27 23:41:31.000000000 +0100
---- aterm-2.5/aterm/aterm.c	2010-02-23 15:10:38.000000000 +0100
-***************
-*** 150,155 ****
---- 150,157 ----
-    if (initialized)
-      return;
-  
-+   assert(sizeof(long) == sizeof(void *));
-+ 
-    /*{{{  Handle arguments */
-  
-    for (lcv=1; lcv < argc; lcv++) {
-diff -rc -x '*~' aterm-2.5-orig/aterm/encoding.h aterm-2.5/aterm/encoding.h
-*** aterm-2.5-orig/aterm/encoding.h	2007-02-27 23:41:31.000000000 +0100
---- aterm-2.5/aterm/encoding.h	2010-02-23 15:36:05.000000000 +0100
-***************
-*** 10,24 ****
-  {
-  #endif/* __cplusplus */
-  
-! #if SIZEOF_LONG > 4
-! #define AT_64BIT
-  #endif
-  
-! #if SIZEOF_LONG != SIZEOF_VOID_P
-! #error Size of long is not the same as the size of a pointer
-  #endif
-  
-! #if SIZEOF_INT > 4
-  #error Size of int is not 32 bits
-  #endif
-  
---- 10,30 ----
-  {
-  #endif/* __cplusplus */
-  
-! #include <limits.h>
-! 
-! #ifndef SIZEOF_LONG
-! #if ULONG_MAX > 4294967295
-! #define SIZEOF_LONG 8
-! #else
-! #define SIZEOF_LONG 4
-! #endif
-  #endif
-  
-! #if SIZEOF_LONG > 4
-! #define AT_64BIT
-  #endif
-  
-! #if UINT_MAX > 4294967295
-  #error Size of int is not 32 bits
-  #endif
-  
diff --git a/pkgs/development/libraries/atk/default.nix b/pkgs/development/libraries/atk/default.nix
index d75fd2353013..34d6f23699f7 100644
--- a/pkgs/development/libraries/atk/default.nix
+++ b/pkgs/development/libraries/atk/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = libintlOrEmpty;
 
diff --git a/pkgs/development/libraries/attr/default.nix b/pkgs/development/libraries/attr/default.nix
index 2bb5b2d25807..7cab14a8e10c 100644
--- a/pkgs/development/libraries/attr/default.nix
+++ b/pkgs/development/libraries/attr/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nd8y0m6awc9ahv0ciiwf8gy54c8d3j51pw9xg7f7cn579jjyxr5";
   };
 
-  outputs = [ "dev" "out" "bin" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   nativeBuildInputs = [ gettext ];
 
diff --git a/pkgs/development/libraries/audio/libbs2b/default.nix b/pkgs/development/libraries/audio/libbs2b/default.nix
index d81bceffffbc..b625bb18b88f 100644
--- a/pkgs/development/libraries/audio/libbs2b/default.nix
+++ b/pkgs/development/libraries/audio/libbs2b/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig libsndfile ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     homepage = "http://bs2b.sourceforge.net/";
     description = "Bauer stereophonic-to-binaural DSP library";
diff --git a/pkgs/development/libraries/audio/lv2/default.nix b/pkgs/development/libraries/audio/lv2/default.nix
index cda126218ba6..fad8dc86bd14 100644
--- a/pkgs/development/libraries/audio/lv2/default.nix
+++ b/pkgs/development/libraries/audio/lv2/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk, libsndfile, pkgconfig, python }:
+{ stdenv, fetchurl, gtk2, libsndfile, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name = "lv2-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1saq0vwqy5zjdkgc5ahs8kcabxfmff2mmg68fiqrkv8hiw9m6jks";
   };
 
-  buildInputs = [ gtk libsndfile pkgconfig python ];
+  buildInputs = [ gtk2 libsndfile pkgconfig python ];
 
   configurePhase = "python waf configure --prefix=$out";
 
diff --git a/pkgs/development/libraries/audio/lvtk/default.nix b/pkgs/development/libraries/audio/lvtk/default.nix
index a56425b8425b..c74c8caa23fd 100644
--- a/pkgs/development/libraries/audio/lvtk/default.nix
+++ b/pkgs/development/libraries/audio/lvtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, boost, gtkmm, lv2, pkgconfig, python }:
+{ stdenv, fetchurl, boost, gtkmm2, lv2, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name = "lvtk-${version}";
@@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig python ];
-  buildInputs = [ boost gtkmm lv2 ];
+  buildInputs = [ boost gtkmm2 lv2 ];
+
+  enableParallelBuilding = true;
 
   # Fix including the boost libraries during linking
   postPatch = ''
diff --git a/pkgs/development/libraries/audio/raul/default.nix b/pkgs/development/libraries/audio/raul/default.nix
index 789846c15e7d..97d7dd831551 100644
--- a/pkgs/development/libraries/audio/raul/default.nix
+++ b/pkgs/development/libraries/audio/raul/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, boost, gtk, pkgconfig, python }:
+{ stdenv, fetchsvn, boost, gtk2, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name = "raul-svn-${rev}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0yvm3j57lch89dixx7zsip7pxsws0xxy1y6ck7a3l0534qc5kny4";
   };
 
-  buildInputs = [ boost gtk pkgconfig python ];
+  buildInputs = [ boost gtk2 pkgconfig python ];
 
   configurePhase = "python waf configure --prefix=$out";
 
diff --git a/pkgs/development/libraries/audio/suil/default.nix b/pkgs/development/libraries/audio/suil/default.nix
index f5a98750ded4..518f89092ab3 100644
--- a/pkgs/development/libraries/audio/suil/default.nix
+++ b/pkgs/development/libraries/audio/suil/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk, lv2, pkgconfig, python, serd, sord, sratom, qt4 }:
+{ stdenv, fetchurl, gtk2, lv2, pkgconfig, python, serd, sord, sratom, qt4 }:
 
 stdenv.mkDerivation rec {
   name = "suil-${version}";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq";
   };
 
-  buildInputs = [ gtk lv2 pkgconfig python qt4 serd sord sratom ];
+  buildInputs = [ gtk2 lv2 pkgconfig python qt4 serd sord sratom ];
 
   configurePhase = "python waf configure --prefix=$out";
 
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
new file mode 100644
index 000000000000..69faf913abfe
--- /dev/null
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -0,0 +1,21 @@
+{stdenv, fetchFromGitHub, cmake, mbedtls, bcunit, srtp}:
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
+  baseName = "bctoolbox";
+  version = "0.2.0";
+  buildInputs = [cmake mbedtls bcunit srtp];
+  src = fetchFromGitHub {
+    owner = "BelledonneCommunications";
+    repo = "${baseName}";
+    rev = "${version}";
+    sha256 = "09mjqdfjxy4jy1z68b2i99hgkbnhhk7vnbfhj9sdpd1p3jk2ha33";
+  };
+
+  meta = {
+    inherit version;
+    description = ''Utilities library for Linphone'';
+    license = stdenv.lib.licenses.gpl2Plus ;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/belle-sip/default.nix b/pkgs/development/libraries/belle-sip/default.nix
index 5975a61ff77c..b055b2358a54 100644
--- a/pkgs/development/libraries/belle-sip/default.nix
+++ b/pkgs/development/libraries/belle-sip/default.nix
@@ -1,39 +1,32 @@
-{ stdenv, fetchurl, libantlr3c, jre, polarssl }:
-
-let
-  # We must use antlr-3.4 with belle-sip-1.4.0
-  # We might be able to use antlr-3.5+ in the future
-  antlr = fetchurl {
-    url = "http://www.antlr3.org/download/antlr-3.4-complete.jar";
-    sha256 = "1xqbam8vf04q5fasb0m2n1pn5dbp2yw763sj492ncq04c5mqcglx";
-  };
-in
-stdenv.mkDerivation rec {
-  name = "belle-sip-1.4.1";
+{ stdenv, fetchurl, antlr3_4, libantlr3c, jre, polarssl, fetchFromGitHub
+  , cmake, zlib, bctoolbox
+}:
 
-  src = fetchurl {
-    url = "mirror://savannah/linphone/belle-sip/${name}.tar.gz";
-    sha256 = "0q1d3fqsrxi3kxcjcibr376js25h6in8c1hm7c53wz252jx6f42b";
+stdenv.mkDerivation rec {
+  baseName = "belle-sip";
+  version = "1.5.0";
+  name = "${baseName}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "BelledonneCommunications";
+    repo = "${baseName}";
+    rev = "${version}";
+    sha256 = "0hnm64hwgq003wicz6c485fryjfhi820fgin8ndknq60kvwxsrzn";
   };
 
-  nativeBuildInputs = [ jre ];
+  nativeBuildInputs = [ jre cmake ];
 
-  # belle-sip.pc doesn't have a library path for antlr3c or polarssl
-  propagatedBuildInputs = [ libantlr3c polarssl ];
+  buildInputs = [ zlib ];
 
-  postPatch = ''
-    mkdir -p $TMPDIR/share/java
-    cp ${antlr} $TMPDIR/share/java/antlr.jar
+  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
 
-    sed -i "s,\(antlr_java_prefixes=\).*,\1\"$TMPDIR/share/java\"," configure
-    cat configure | grep antlr_java
-  '';
+  propagatedBuildInputs = [ antlr3_4 libantlr3c polarssl bctoolbox ];
 
   configureFlags = [
     "--with-polarssl=${polarssl}"
   ];
 
-  enableParallelBuild = true;
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     homepage = http://www.linphone.org/index.php/eng;
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index 4839bedd8bb0..b0eec4e130b6 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
   patches = if stdenv.isCygwin then [ ./cygwin.patch ] else null;
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   configureFlags =
     [ "--enable-cplusplus" ]
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index f2da2624755f..6adcce45d808 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -162,7 +162,7 @@ stdenv.mkDerivation {
 
   postFixup = fixup;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   setOutputFlags = false;
 
   crossAttrs = rec {
diff --git a/pkgs/development/libraries/cairo/default.nix b/pkgs/development/libraries/cairo/default.nix
index 1f38f69eb0ce..fc3b060b35e1 100644
--- a/pkgs/development/libraries/cairo/default.nix
+++ b/pkgs/development/libraries/cairo/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     patches="$patches $(echo $infinality/*_cairo-iu/*.patch)"
   '';
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev"; # very small
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/capstone/default.nix b/pkgs/development/libraries/capstone/default.nix
index 76069e72b0d6..80f858254ffb 100644
--- a/pkgs/development/libraries/capstone/default.nix
+++ b/pkgs/development/libraries/capstone/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ cmake ];
-  enableParallelBuild = true;
+  enableParallelBuilding = true;
 
   meta = {
     description = "Advanced disassembly library";
diff --git a/pkgs/development/libraries/cgui/default.nix b/pkgs/development/libraries/cgui/default.nix
index 0f1178622360..da9d1122cc54 100644
--- a/pkgs/development/libraries/cgui/default.nix
+++ b/pkgs/development/libraries/cgui/default.nix
@@ -12,10 +12,11 @@ stdenv.mkDerivation rec {
   buildInputs = [ texinfo allegro perl ];
 
   configurePhase = ''
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -fPIC"
     sh fix.sh unix
   '';
 
+  hardeningDisable = [ "format" ];
+
   makeFlags = [ "SYSTEM_DIR=$(out)" ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/cloog/0.18.0.nix b/pkgs/development/libraries/cloog/0.18.0.nix
index ccd938283199..359bde2e0582 100644
--- a/pkgs/development/libraries/cloog/0.18.0.nix
+++ b/pkgs/development/libraries/cloog/0.18.0.nix
@@ -18,6 +18,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   meta = {
     description = "Library that generates loops for scanning polyhedra";
 
diff --git a/pkgs/development/libraries/clutter-gtk/0.10.8.nix b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
index d3754ecd6c62..a3cdbbf28272 100644
--- a/pkgs/development/libraries/clutter-gtk/0.10.8.nix
+++ b/pkgs/development/libraries/clutter-gtk/0.10.8.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, clutter, gtk }:
+{ fetchurl, stdenv, pkgconfig, clutter, gtk2 }:
 
 stdenv.mkDerivation rec {
   name = "clutter-gtk-0.10.8";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0508x1jfnlq0zhgscysvfa7i7ljkzm23d2myikvdjwc8ar8zjrvq";
   };
 
-  propagatedBuildInputs = [ clutter gtk ];
+  propagatedBuildInputs = [ clutter gtk2 ];
   nativeBuildInputs = [ pkgconfig ];
 
   configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
diff --git a/pkgs/development/libraries/cmocka/default.nix b/pkgs/development/libraries/cmocka/default.nix
index 96ef5112ef6a..f352357ac21b 100644
--- a/pkgs/development/libraries/cmocka/default.nix
+++ b/pkgs/development/libraries/cmocka/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, cmake }:
+{ fetchurl, stdenv, cmake, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "cmocka-${version}";
@@ -9,6 +9,18 @@ stdenv.mkDerivation rec {
     sha256 = "0fvm6rdalqcxckbddch8ycdw6n2ckldblv117n09chi2l7bm0q5k";
   };
 
+  patches = [
+    # This fixes the build for clang-3.7.0 and thus Darwin.
+    # See https://open.cryptomilk.org/issues/43 for more info.
+    #
+    # The patch is already merged to upstream, so it should be removed
+    # here on next release.
+    (fetchpatch {
+      url = "https://git.cryptomilk.org/projects/cmocka.git/patch/?id=1b595a80934fa95234fb290913cfe533f740d965";
+      sha256 = "1fg8xwb1mrrmw4dqa65ghnvgfdkpi0lv4j2gq0lm9ayvsi3v00vp";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
@@ -43,6 +55,6 @@ stdenv.mkDerivation rec {
 
     license = licenses.asl20;
     platforms = platforms.all;
-    maintainers = with maintainers; [ kragniz ];
+    maintainers = with maintainers; [ kragniz rasendubi ];
   };
 }
diff --git a/pkgs/development/libraries/commoncpp2/default.nix b/pkgs/development/libraries/commoncpp2/default.nix
index a4347e77632e..f578cd2f87d5 100644
--- a/pkgs/development/libraries/commoncpp2/default.nix
+++ b/pkgs/development/libraries/commoncpp2/default.nix
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.gnu.org/software/commoncpp/;
     license = stdenv.lib.licenses.gpl2Plus;
     maintainers = [ stdenv.lib.maintainers.marcweber ];
-    platforms = with stdenv.lib.platforms; allBut freebsd;
+    platforms = with stdenv.lib.platforms; linux;
   };
 }
diff --git a/pkgs/development/libraries/curlcpp/default.nix b/pkgs/development/libraries/curlcpp/default.nix
new file mode 100644
index 000000000000..546259cd70cf
--- /dev/null
+++ b/pkgs/development/libraries/curlcpp/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, cmake, curl }: 
+
+stdenv.mkDerivation {
+  name = "curlcpp-20160901";
+
+  src = fetchFromGitHub {
+    owner = "JosephP91";
+    repo = "curlcpp";
+    rev = "98286da1d6c9f6158344a8e272eae5030cbf6c0e";
+    sha256 = "00nm2b8ik1yvaz5dp1b61jid841jv6zf8k5ma2nxbf1di1apqh0d";
+  };
+
+  buildInputs = [ cmake curl ];
+
+  meta = with stdenv.lib; {
+    homepage = "http://josephp91.github.io/curlcpp/";
+    description = "Object oriented C++ wrapper for CURL";
+    platforms = platforms.unix ;
+    license = licenses.mit;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
+
diff --git a/pkgs/development/libraries/cwiid/default.nix b/pkgs/development/libraries/cwiid/default.nix
index 41d6320adc6c..fb5431ff8d59 100644
--- a/pkgs/development/libraries/cwiid/default.nix
+++ b/pkgs/development/libraries/cwiid/default.nix
@@ -1,26 +1,34 @@
-{ stdenv, autoreconfHook, fetchgit, bison, flex, bluez, pkgconfig, gtk }:
+{ stdenv, autoreconfHook, fetchgit, bison, flex, bluez, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
-    name = "cwiid-2010-02-21-git";
-    src = fetchgit {
-        url = https://github.com/abstrakraft/cwiid;
-        sha256 = "0qdb0x757k76nfj32xc2nrrdqd9jlwgg63vfn02l2iznnzahxp0h";
-        rev = "fadf11e89b579bcc0336a0692ac15c93785f3f82";
-    };
-    configureFlags = "--without-python";
-    prePatch = ''
-        sed -i -e '/$(LDCONFIG)/d' common/include/lib.mak.in
-    '';
-    buildInputs = [ autoreconfHook bison flex bluez pkgconfig gtk ];
-    postInstall = ''
-        # Some programs (for example, cabal-install) have problems with the double 0
-        sed -i -e "s/0.6.00/0.6.0/" $out/lib/pkgconfig/cwiid.pc
-    '';
-    meta = {
-        description = "Linux Nintendo Wiimote interface";
-        homepage = http://cwiid.org;
-        license = stdenv.lib.licenses.gpl2Plus;
-        maintainers = [ stdenv.lib.maintainers.bennofs ];
-        platforms = stdenv.lib.platforms.linux; 
-    };   
+  name = "cwiid-2010-02-21-git";
+
+  src = fetchgit {
+      url = https://github.com/abstrakraft/cwiid;
+      sha256 = "0qdb0x757k76nfj32xc2nrrdqd9jlwgg63vfn02l2iznnzahxp0h";
+      rev = "fadf11e89b579bcc0336a0692ac15c93785f3f82";
+  };
+
+  hardeningDisable = [ "format" ];
+
+  configureFlags = "--without-python";
+
+  prePatch = ''
+    sed -i -e '/$(LDCONFIG)/d' common/include/lib.mak.in
+  '';
+
+  buildInputs = [ autoreconfHook bison flex bluez pkgconfig gtk2 ];
+
+  postInstall = ''
+    # Some programs (for example, cabal-install) have problems with the double 0
+    sed -i -e "s/0.6.00/0.6.0/" $out/lib/pkgconfig/cwiid.pc
+  '';
+
+  meta = {
+    description = "Linux Nintendo Wiimote interface";
+    homepage = http://cwiid.org;
+    license = stdenv.lib.licenses.gpl2Plus;
+    maintainers = [ stdenv.lib.maintainers.bennofs ];
+    platforms = stdenv.lib.platforms.linux;
+  };
 }
diff --git a/pkgs/development/libraries/cxxtest/default.nix b/pkgs/development/libraries/cxxtest/default.nix
new file mode 100644
index 000000000000..ebf21c13010e
--- /dev/null
+++ b/pkgs/development/libraries/cxxtest/default.nix
@@ -0,0 +1,35 @@
+{ stdenv, fetchFromGitHub, pythonPackages}:
+
+stdenv.mkDerivation rec {
+  version = "4.4";
+  name = "cxxtest";
+
+  src = fetchFromGitHub {
+    owner = "CxxTest";
+    repo = name;
+    rev = version;
+    sha256 = "19w92kipfhp5wvs47l0qpibn3x49sbmvkk91yxw6nwk6fafcdl17";
+  };
+
+  buildInputs = with pythonPackages; [ python wrapPython ];
+
+  installPhase = ''
+    cd python
+    python setup.py install --prefix=$out
+    cd ..
+
+    mkdir -p $out/include
+    cp -R cxxtest $out/include/
+
+    wrapPythonProgramsIn $out/bin "$out $pythonPath"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "http://cxxtest.com";
+    description = "Unit testing framework for C++";
+    platforms = platforms.unix ;
+    license = licenses.lgpl3;
+    maintainers = [ maintainers.juliendehos ];
+  };
+}
+
diff --git a/pkgs/development/libraries/cyrus-sasl/default.nix b/pkgs/development/libraries/cyrus-sasl/default.nix
index 9573358a22f5..5bbfd6e375ef 100644
--- a/pkgs/development/libraries/cyrus-sasl/default.nix
+++ b/pkgs/development/libraries/cyrus-sasl/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "1hvvbcsg21nlncbgs0cgn3iwlnb3vannzwsp6rwvnn9ba4v53g4g";
   };
 
-  outputs = [ "dev" "bin" "out" "man" "docdev" ];
+  outputs = [ "bin" "dev" "out" "man" "devdoc" ];
 
   buildInputs =
     [ openssl db gettext kerberos ]
diff --git a/pkgs/development/libraries/db/db-4.4.nix b/pkgs/development/libraries/db/db-4.4.nix
index 757b1f71405b..00875d73f418 100644
--- a/pkgs/development/libraries/db/db-4.4.nix
+++ b/pkgs/development/libraries/db/db-4.4.nix
@@ -5,4 +5,5 @@ import ./generic.nix (args // rec {
   extraPatches = [ ./cygwin-4.4.patch ];
   sha256 = "0y9vsq8dkarx1mhhip1vaciz6imbbyv37c1dm8b20l7p064bg2i9";
   branch = "4.4";
+  drvArgs = { hardeningDisable = [ "format" ]; };
 })
diff --git a/pkgs/development/libraries/db/db-4.5.nix b/pkgs/development/libraries/db/db-4.5.nix
index b1e4b2c47085..84b5ea67420a 100644
--- a/pkgs/development/libraries/db/db-4.5.nix
+++ b/pkgs/development/libraries/db/db-4.5.nix
@@ -5,4 +5,5 @@ import ./generic.nix (args // rec {
   extraPatches = [ ./cygwin-4.5.patch ./register-race-fix.patch ];
   sha256 = "0bd81k0qv5i8w5gbddrvld45xi9k1gvmcrfm0393v0lrm37dab7m";
   branch = "4.5";
+  drvArgs = { hardeningDisable = [ "format" ]; };
 })
diff --git a/pkgs/development/libraries/db/db-4.7.nix b/pkgs/development/libraries/db/db-4.7.nix
index 9a7d586cd042..6016d112d517 100644
--- a/pkgs/development/libraries/db/db-4.7.nix
+++ b/pkgs/development/libraries/db/db-4.7.nix
@@ -4,4 +4,5 @@ import ./generic.nix (args // rec {
   version = "4.7.25";
   sha256 = "0gi667v9cw22c03hddd6xd6374l0pczsd56b7pba25c9sdnxjkzi";
   branch = "4.7";
+  drvArgs = { hardeningDisable = [ "format" ]; };
 })
diff --git a/pkgs/development/libraries/db/db-4.8.nix b/pkgs/development/libraries/db/db-4.8.nix
index 6a161b0b72d8..40869a865ae5 100644
--- a/pkgs/development/libraries/db/db-4.8.nix
+++ b/pkgs/development/libraries/db/db-4.8.nix
@@ -5,4 +5,5 @@ import ./generic.nix (args // rec {
   extraPatches = [ ./clang-4.8.patch ];
   sha256 = "0ampbl2f0hb1nix195kz1syrqqxpmvnvnfvphambj7xjrl3iljg0";
   branch = "4.8";
+  drvArgs = { hardeningDisable = [ "format" ]; };
 })
diff --git a/pkgs/development/libraries/db/generic.nix b/pkgs/development/libraries/db/generic.nix
index f5ee4e440ff0..fdc828effdfb 100644
--- a/pkgs/development/libraries/db/generic.nix
+++ b/pkgs/development/libraries/db/generic.nix
@@ -7,9 +7,10 @@
 , extraPatches ? [ ]
 , license ? stdenv.lib.licenses.sleepycat
 , branch ? null
+, drvArgs ? {}
 }:
 
-stdenv.mkDerivation rec {
+stdenv.mkDerivation (rec {
   name = "db-${version}";
 
   src = fetchurl {
@@ -42,4 +43,4 @@ stdenv.mkDerivation rec {
     platforms = platforms.unix;
     branch = branch;
   };
-}
+} // drvArgs)
diff --git a/pkgs/development/libraries/dbus-glib/default.nix b/pkgs/development/libraries/dbus-glib/default.nix
index 3ee1edf519cd..c3386d3e1a60 100644
--- a/pkgs/development/libraries/dbus-glib/default.nix
+++ b/pkgs/development/libraries/dbus-glib/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0in0i6v68ixcy0ip28i84hdczf10ykq9x682qgcvls6gdmq552dk";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   nativeBuildInputs = [ pkgconfig gettext ];
diff --git a/pkgs/development/libraries/dbus/default.nix b/pkgs/development/libraries/dbus/default.nix
index dd86ca540815..bcf8933f0725 100644
--- a/pkgs/development/libraries/dbus/default.nix
+++ b/pkgs/development/libraries/dbus/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, pkgconfig, expat, systemd, glib, dbus_glib, python
+{ stdenv, lib, fetchurl, pkgconfig, expat, systemd
 , libX11 ? null, libICE ? null, libSM ? null, x11Support ? (stdenv.isLinux || stdenv.isDarwin) }:
 
 assert x11Support -> libX11 != null
@@ -6,8 +6,8 @@ assert x11Support -> libX11 != null
                   && libSM != null;
 
 let
-  version = "1.10.8";
-  sha256 = "0560y3hxpgh346w6avcrcz79c8ansmn771y5xpcvvlr6m8mx5wxs";
+  version = "1.10.10";
+  sha256 = "0hwsfczhx2djmc9116vj5v230i7gpjihwh3vbljs1ldlk831v3wx";
 
 self =  stdenv.mkDerivation {
     name = "dbus-${version}";
@@ -32,7 +32,7 @@ self =  stdenv.mkDerivation {
         --replace 'DBUS_DAEMONDIR"/dbus-daemon"' '"/run/current-system/sw/bin/dbus-daemon"'
     '';
 
-    outputs = [ "dev" "out" "lib" "doc" ];
+    outputs = [ "out" "dev" "lib" "doc" ];
 
     nativeBuildInputs = [ pkgconfig ];
     propagatedBuildInputs = [ expat ];
diff --git a/pkgs/development/libraries/epoxy/default.nix b/pkgs/development/libraries/epoxy/default.nix
index 009624096605..18ce05af07a8 100644
--- a/pkgs/development/libraries/epoxy/default.nix
+++ b/pkgs/development/libraries/epoxy/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0dfkd4xbp7v5gwsf6qwaraz54yzizf3lj5ymyc0msjn0adq3j5yl";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig utilmacros python ];
   buildInputs = [ mesa libX11 ];
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index af17c9ae0f0f..a11be14df109 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   };
   postPatch = "patchShebangs ./src/svn_version.sh";
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ gettext ];
   propagatedBuildInputs = [ zlib expat ];
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index be5772798b4c..1001afff0d48 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1zq4lnwjlw8s9mmachwfvfjf2x3lk24jm41746ykhdcvs7r0zrfr";
   };
 
-  outputs = [ "dev" "out" ]; # TODO: fix referrers
+  outputs = [ "out" "dev" ]; # TODO: fix referrers
   outputBin = "dev";
 
   configureFlags = stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
diff --git a/pkgs/development/libraries/faac/default.nix b/pkgs/development/libraries/faac/default.nix
index 802aafc444c3..1ab01033f4df 100644
--- a/pkgs/development/libraries/faac/default.nix
+++ b/pkgs/development/libraries/faac/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     ++ optional mp4v2Support "--with-mp4v2"
     ++ optional drmSupport "--enable-drm";
 
+  hardeningDisable = [ "format" ];
+
   buildInputs = [ ]
     ++ optional mp4v2Support mp4v2;
 
diff --git a/pkgs/development/libraries/farsight2/default.nix b/pkgs/development/libraries/farsight2/default.nix
index 5c2ef0f6b4e0..af83068e5ad6 100644
--- a/pkgs/development/libraries/farsight2/default.nix
+++ b/pkgs/development/libraries/farsight2/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst_plugins_base
-, pygobject, gst_python, gupnp_igd }:
+, pygobject2, gst_python, gupnp_igd }:
 
 stdenv.mkDerivation rec {
   name = "farsight2-0.0.31";
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "16qz4x14rdycm4nrn5wx6k2y22fzrazsbmihrxdwafx9cyf23kjm";
   };
 
-  buildInputs = [ libnice python pygobject gst_python gupnp_igd ];
+  buildInputs = [ libnice python pygobject2 gst_python gupnp_igd ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index a57c3da333e2..27bff62bd656 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, libnice, pkgconfig, python, gstreamer, gst-plugins-base
-, pygobject, gst-python, gupnp_igd
+, pygobject2, gst-python, gupnp_igd
 , gst-plugins-good, gst-plugins-bad, gst-libav
 }:
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0c5vlyiwb799wpby4g9vffiy0nf09gy2cr84ksfy3jwzsxf5n38j";
   };
 
-  buildInputs = [ libnice python pygobject gupnp_igd libnice ];
+  buildInputs = [ libnice python pygobject2 gupnp_igd libnice ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/fastjson/default.nix b/pkgs/development/libraries/fastjson/default.nix
index 1b591efb578e..4c4ddc3ba579 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.2";
+  version = "v0.99.4";
   name = "fastjson-${version}";
   src = fetchFromGitHub {
     repo = "libfastjson";
     owner = "rsyslog";
-    rev = "eabae907c9d991143e17da278a239819f2e8ae1c";
-    sha256 = "17fhaqdn0spc4p0848ahcy68swm6l5yd3bx6bdzxmmwj1jdrmvzk";
+    rev = "6e057a094cb225c9d80d8d6e6b1f36ca88a942dd";
+    sha256 = "1pn207p9zns0aqm6z5l5fdgb94wyyhaw83lyvyfdxmai74nbqs65";
   };
 
   buildInputs = [ autoconf automake libtool ];
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 8ec1dd283e20..f4621216a092 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -141,7 +141,8 @@
 /*
  *  Darwin frameworks
  */
-, Cocoa, CoreServices, AVFoundation, MediaToolbox, VideoDecodeAcceleration, CF
+, Cocoa, CoreAudio, CoreServices, AVFoundation, MediaToolbox
+, VideoDecodeAcceleration, CF
 }:
 
 /* Maintainer notes:
@@ -236,14 +237,17 @@ assert nvenc -> nvidia-video-sdk != null && nonfreeLicensing;
 
 stdenv.mkDerivation rec {
   name = "ffmpeg-full-${version}";
-  version = "3.0.2";
+  version = "3.1.3";
 
   src = fetchurl {
     url = "https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz";
-    sha256 = "08sjp4dxgcinmv9ly7nm24swmn2cnbbhvph44ihlplf4n33kr542";
+    sha256 = "08l8290gipm632dhrqndnphdpkc5ncqc1j3hxdx46r1a3q3mqmzq";
   };
 
-  patchPhase = ''patchShebangs .'';
+  patchPhase = ''patchShebangs .
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i 's/#ifndef __MAC_10_11/#if 1/' ./libavcodec/audiotoolboxdec.c
+  '';
 
   configureFlags = [
     /*
@@ -412,8 +416,8 @@ stdenv.mkDerivation rec {
     ++ optional ((isLinux || isFreeBSD) && libva != null) libva
     ++ optionals isLinux [ alsaLib libraw1394 libv4l ]
     ++ optionals nvenc [ nvidia-video-sdk ]
-    ++ optionals stdenv.isDarwin [ Cocoa CoreServices AVFoundation MediaToolbox
-                                   VideoDecodeAcceleration ];
+    ++ optionals stdenv.isDarwin [ Cocoa CoreServices CoreAudio AVFoundation 
+                                   MediaToolbox VideoDecodeAcceleration ];
 
   # Build qt-faststart executable
   buildPhase = optional qtFaststartProgram ''make tools/qt-faststart'';
diff --git a/pkgs/development/libraries/ffmpeg/2.8.nix b/pkgs/development/libraries/ffmpeg/2.8.nix
index af51571baaa3..63e6ec2f6952 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}.6";
+  version = "${branch}.7";
   branch = "2.8";
-  sha256 = "0qlfinkyrz4s9z50fmqzx601zf9i7h1yn7cgdwn5jm63kcr1wqa0";
+  sha256 = "1rggcy8kflmlvdyf5yqv0zshycysyqz45fl06v8zsh2n6d5cwxw7";
 })
diff --git a/pkgs/development/libraries/ffmpeg/3.1.nix b/pkgs/development/libraries/ffmpeg/3.1.nix
index f2158b3756f5..fd5ce7c19d84 100644
--- a/pkgs/development/libraries/ffmpeg/3.1.nix
+++ b/pkgs/development/libraries/ffmpeg/3.1.nix
@@ -1,12 +1,13 @@
-{ callPackage
+{ stdenv, callPackage
 # Darwin frameworks
 , Cocoa, CoreMedia
 , ...
 }@args:
 
 callPackage ./generic.nix (args // rec {
-  version = "${branch}.2";
+  version = "${branch}.3";
   branch = "3.1";
-  sha256 = "1xvh1c8nlws0wx6b7yl1pvkybgzaj5585h1r6z1gzhck1f0qvsv2";
+  sha256 = "0f4ajs0c4088nkal4gqagx05wfyhd1izfxmzxxsdh56ibp38kg2q";
   darwinFrameworks = [ Cocoa CoreMedia ];
+  patches = stdenv.lib.optional stdenv.isDarwin ./sdk_detection.patch;
 })
diff --git a/pkgs/development/libraries/ffmpeg/generic.nix b/pkgs/development/libraries/ffmpeg/generic.nix
index 33ee2f80a6ed..f6c40fa5dd00 100644
--- a/pkgs/development/libraries/ffmpeg/generic.nix
+++ b/pkgs/development/libraries/ffmpeg/generic.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
   postPatch = ''patchShebangs .'';
   inherit patches;
 
-  outputs = [ "dev" "out" "bin" ]
+  outputs = [ "bin" "dev" "out" ]
     ++ optional (reqMin "1.0") "doc" ; # just dev-doc
   setOutputFlags = false; # doesn't accept all and stores configureFlags in libs!
 
diff --git a/pkgs/development/libraries/ffmpeg/sdk_detection.patch b/pkgs/development/libraries/ffmpeg/sdk_detection.patch
new file mode 100644
index 000000000000..f0b8789c66b5
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/sdk_detection.patch
@@ -0,0 +1,12 @@
+diff --git a/libavcodec/audiotoolboxdec.c b/libavcodec/audiotoolboxdec.c
+--- a/libavcodec/audiotoolboxdec.c
++++ b/libavcodec/audiotoolboxdec.c
+@@ -32,7 +32,7 @@
+ #include "libavutil/opt.h"
+ #include "libavutil/log.h"
+ 
+-#ifndef __MAC_10_11
++#if __MAC_OS_X_VERSION_MIN_REQUIRED < 101100
+ #define kAudioFormatEnhancedAC3 'ec-3'
+ #endif
+ 
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index 68d1e62244cb..e6c55ed15755 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -1,34 +1,24 @@
-{ fetchFromGitHub , stdenv, lib, ocaml, perl, indent, transfig, ghostscript, texinfo, libtool, gettext, automake, autoconf, precision ? "double" }:
+{ fetchurl, stdenv, lib, precision ? "double" }:
 
 with lib;
 
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
-let version = "3.3.5-rc1"; in
+let version = "3.3.5"; in
 
 stdenv.mkDerivation rec {
   name = "fftw-${precision}-${version}";
 
-  src = fetchFromGitHub {
-    owner = "FFTW";
-    repo = "fftw3";
-    rev = "fftw-${version}";
-    sha256 = "1gc57xvdqbapq30ylj3fxwkv61la4kzyf7ji0q0xqjwpji2ynqi4";
+  src = fetchurl {
+    url = "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz";
+    sha256 = "1kwbx92ps0r7s2mqy7lxbxanslxdzj7dp7r7gmdkzv1j8yqf3kwf";
   };
 
-  nativeBuildInputs = [ ocaml perl indent transfig ghostscript texinfo libtool gettext automake autoconf ];
-
-  # remove the ./configure lines, so we can use nix's configureFlags
-  patchPhase = "sed -e '27,29d' -i bootstrap.sh";
-
-  preConfigurePhases =  "./bootstrap.sh";
-
-  outputs = [ "dev" "out" "doc" ]; # it's dev-doc only
+  outputs = [ "out" "dev" "doc" ]; # it's dev-doc only
   outputBin = "dev"; # fftw-wisdom
 
   configureFlags =
-    [ "--enable-maintainer-mode"
-      "--enable-shared" "--disable-static"
+    [ "--enable-shared" "--disable-static"
       "--enable-threads"
     ]
     ++ optional (precision != "double") "--enable-${precision}"
diff --git a/pkgs/development/libraries/fontconfig/2.10.nix b/pkgs/development/libraries/fontconfig/2.10.nix
index fea9efde1cfd..2705339adbfb 100644
--- a/pkgs/development/libraries/fontconfig/2.10.nix
+++ b/pkgs/development/libraries/fontconfig/2.10.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
       }
     ;
 
-  outputs = [ "dev" "lib" "bin" "out" ]; # $out contains all the config
+  outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   propagatedBuildInputs = [ freetype ];
   buildInputs = [ pkgconfig expat ];
diff --git a/pkgs/development/libraries/fontconfig/default.nix b/pkgs/development/libraries/fontconfig/default.nix
index 74048afe731e..550ec2bf5c31 100644
--- a/pkgs/development/libraries/fontconfig/default.nix
+++ b/pkgs/development/libraries/fontconfig/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, freetype, expat, libxslt, fontbhttf
+{ stdenv, fetchurl, fetchpatch, pkgconfig, freetype, expat, libxslt, dejavu_fonts
 , substituteAll }:
 
 /** Font configuration scheme
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  outputs = [ "dev" "lib" "bin" "out" ]; # $out contains all the config
+  outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
 
   propagatedBuildInputs = [ freetype ];
   buildInputs = [ pkgconfig expat ];
@@ -44,8 +44,8 @@ stdenv.mkDerivation rec {
   configureFlags = [
     "--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=${fontbhttf}"
+    # just <1MB; this is what you get when loading config fails for some reason
+    "--with-default-fonts=${dejavu_fonts.minimal}"
   ];
 
   # We should find a better way to access the arch reliably.
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     cd "$out/etc/fonts"
-    "${libxslt.bin}/bin/xsltproc" --stringparam fontDirectories "${fontbhttf}" \
+    "${libxslt.bin}/bin/xsltproc" --stringparam fontDirectories "${dejavu_fonts.minimal}" \
       --stringparam fontconfigConfigVersion "${configVersion}" \
       --path $out/share/xml/fontconfig \
       ${./make-fonts-conf.xsl} $out/etc/fonts/fonts.conf \
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-cache.nix b/pkgs/development/libraries/fontconfig/make-fonts-cache.nix
index b996cd228c77..53c2a335cc0b 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, fontbhttf, fontDirectories }:
+{ runCommand, lib, writeText, fontconfig, fontDirectories }:
 
 runCommand "fc-cache"
   rec {
diff --git a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
index 2d0a21ea9ddf..3cd4a894b37f 100644
--- a/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
+++ b/pkgs/development/libraries/fontconfig/make-fonts-conf.nix
@@ -1,10 +1,10 @@
-{ runCommand, libxslt, fontconfig, fontbhttf, fontDirectories }:
+{ runCommand, libxslt, fontconfig, dejavu_fonts, fontDirectories }:
 
 runCommand "fonts.conf"
   {
     buildInputs = [ libxslt fontconfig ];
-    # Add a default font for non-nixos systems. fontbhttf is only about 1mb.
-    fontDirectories = fontDirectories ++ [ fontbhttf ];
+    # Add a default font for non-nixos systems, <1MB and in nixos defaults.
+    fontDirectories = fontDirectories ++ [ dejavu_fonts.minimal ];
   }
   ''
     xsltproc --stringparam fontDirectories "$fontDirectories" \
diff --git a/pkgs/development/libraries/fox/default.nix b/pkgs/development/libraries/fox/default.nix
index 78c8b8645290..8969e4bd5ba8 100644
--- a/pkgs/development/libraries/fox/default.nix
+++ b/pkgs/development/libraries/fox/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "C++ based class library for building Graphical User Interfaces";
     longDescription = ''
diff --git a/pkgs/development/libraries/fox/fox-1.6.nix b/pkgs/development/libraries/fox/fox-1.6.nix
index 3c823adf91b6..ce778e4a3473 100644
--- a/pkgs/development/libraries/fox/fox-1.6.nix
+++ b/pkgs/development/libraries/fox/fox-1.6.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     branch = "1.6";
     description = "A C++ based class library for building Graphical User Interfaces";
diff --git a/pkgs/development/libraries/frame/default.nix b/pkgs/development/libraries/frame/default.nix
index 26357b440498..4e8be2a4f501 100644
--- a/pkgs/development/libraries/frame/default.nix
+++ b/pkgs/development/libraries/frame/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ 
     stdenv pkgconfig
-  ] ++ stdenv.lib.optional enableX11 [xorg.xorgserver xorg.libX11 xorg.libXext xorg.libXi];
+  ] ++ stdenv.lib.optionals enableX11 [xorg.xorgserver xorg.libX11 xorg.libXext xorg.libXi];
 
   configureFlags = stdenv.lib.optional enableX11 "--with-x11";
 
@@ -21,4 +21,4 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl3;
     platforms = stdenv.lib.platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 695abcfbba2b..3ed308a34920 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba";
   };
 
+  hardeningDisable = [ "format" ];
+
   buildInputs = stdenv.lib.optional odbcSupport [ unixODBC ];
 
   configureFlags = stdenv.lib.optionalString odbcSupport "--with-odbc=${unixODBC}";
diff --git a/pkgs/development/libraries/freetts/default.nix b/pkgs/development/libraries/freetts/default.nix
index 91d2c84252f0..8c6f60b98010 100644
--- a/pkgs/development/libraries/freetts/default.nix
+++ b/pkgs/development/libraries/freetts/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, apacheAnt, unzip, sharutils, lib}:
+{stdenv, fetchurl, apacheAnt, unzip, sharutils, lib, jdk}:
 
 stdenv.mkDerivation {
   name = "freetts-1.2.2";
@@ -6,11 +6,11 @@ stdenv.mkDerivation {
     url = mirror://sourceforge/freetts/freetts-1.2.2-src.zip;
     sha256 = "0mnikqhpf4f4jdr0irmibr8yy0dnffx1i257y22iamxi7a6by2r7";
   };
-  buildInputs = [ apacheAnt unzip sharutils ];
+  buildInputs = [ apacheAnt unzip sharutils jdk ];
   unpackPhase = ''
     unzip $src -x META-INF/*
   '';
-  
+
   buildPhase = ''
     cd */lib
     sed -i -e "s/more/cat/" jsapi.sh
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
     install -v -m755 -d $out/{lib,docs/{audio,images}}
     install -v -m644 lib/*.jar $out/lib
   '';
-  
+
   meta = {
     description = "Text to speech system based on Festival written in Java";
     longDescription = ''
diff --git a/pkgs/development/libraries/freetype/default.nix b/pkgs/development/libraries/freetype/default.nix
index 8ef51172f948..adf48df2494e 100644
--- a/pkgs/development/libraries/freetype/default.nix
+++ b/pkgs/development/libraries/freetype/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     patches="$patches $(ls ${infinality}/*_freetype2-iu/*-infinality-*.patch)"
   '';
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ zlib bzip2 libpng ]; # needed when linking against freetype
   # dependence on harfbuzz is looser than the reverse dependence
diff --git a/pkgs/development/libraries/fribidi/default.nix b/pkgs/development/libraries/fribidi/default.nix
index 669d023dde8b..35d67b633097 100644
--- a/pkgs/development/libraries/fribidi/default.nix
+++ b/pkgs/development/libraries/fribidi/default.nix
@@ -3,12 +3,14 @@
 stdenv.mkDerivation rec {
   name = "fribidi-${version}";
   version = "0.19.6";
-  
+
   src = fetchurl {
     url = "http://fribidi.org/download/${name}.tar.bz2";
     sha256 = "0zg1hpaml34ny74fif97j7ngrshlkl3wk3nja3gmlzl17i1bga6b";
   };
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     homepage = http://fribidi.org/;
     description = "GNU implementation of the Unicode Bidirectional Algorithm (bidi)";
diff --git a/pkgs/development/libraries/ganv/default.nix b/pkgs/development/libraries/ganv/default.nix
index eef89e9cff63..6af09bd51795 100644
--- a/pkgs/development/libraries/ganv/default.nix
+++ b/pkgs/development/libraries/ganv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, graphviz, gtk, gtkmm, pkgconfig, python }:
+{ stdenv, fetchsvn, graphviz, gtkmm2, pkgconfig, python }:
 
 stdenv.mkDerivation rec {
   name = "ganv-svn-${rev}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "0klzng3jvc09lj4hxnzlb8z5s5qp8rj16b1x1j6hcbqdja54fccj";
   };
 
-  buildInputs = [ graphviz gtk gtkmm pkgconfig python ];
+  buildInputs = [ graphviz gtkmm2 pkgconfig python ];
 
   configurePhase = "python waf configure --prefix=$out";
 
diff --git a/pkgs/development/libraries/gd/default.nix b/pkgs/development/libraries/gd/default.nix
index dfeec5d8890b..724888b3b824 100644
--- a/pkgs/development/libraries/gd/default.nix
+++ b/pkgs/development/libraries/gd/default.nix
@@ -19,14 +19,17 @@ stdenv.mkDerivation rec {
     sha256 = "0g3xz8jpz1pl2zzmssglrpa9nxiaa7rmcmvgpbrjz8k9cyynqsvl";
   };
 
+  hardeningDisable = [ "format" ];
+
   # -pthread gets passed to clang, causing warnings
   configureFlags = stdenv.lib.optional stdenv.isDarwin "--enable-werror=no";
 
   nativeBuildInputs = [ pkgconfig ];
+
   buildInputs = [ zlib fontconfig freetype ];
   propagatedBuildInputs = [ libpng libjpeg libwebp libtiff libXpm ];
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
 
   postFixup = ''moveToOutput "bin/gdlib-config" $dev'';
 
diff --git a/pkgs/development/libraries/gdal/default.nix b/pkgs/development/libraries/gdal/default.nix
index f19f760c7487..d710c7357bc5 100644
--- a/pkgs/development/libraries/gdal/default.nix
+++ b/pkgs/development/libraries/gdal/default.nix
@@ -18,6 +18,8 @@ composableDerivation.composableDerivation {} (fixed: rec {
   ++ (with pythonPackages; [ python numpy wrapPython ])
   ++ (stdenv.lib.optionals netcdfSupport [ netcdf hdf5 curl ]);
 
+  hardeningDisable = [ "format" ];
+
   # Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
   # Unset CC and CXX as they confuse libtool.
   preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";
@@ -29,7 +31,7 @@ composableDerivation.composableDerivation {} (fixed: rec {
     "--with-libz=${zlib.dev}"       # optional
 
     "--with-pg=${postgresql}/bin/pg_config"
-    "--with-mysql=${mysql.lib}/bin/mysql_config"
+    "--with-mysql=${mysql.lib.dev}/bin/mysql_config"
     "--with-geotiff=${libgeotiff}"
     "--with-python"               # optional
     "--with-static-proj4=${proj}" # optional
diff --git a/pkgs/development/libraries/gdal/gdal-1_11.nix b/pkgs/development/libraries/gdal/gdal-1_11.nix
index 06f8afba3341..5ed72a6669cb 100644
--- a/pkgs/development/libraries/gdal/gdal-1_11.nix
+++ b/pkgs/development/libraries/gdal/gdal-1_11.nix
@@ -19,6 +19,8 @@ composableDerivation.composableDerivation {} (fixed: rec {
     ./python.patch
   ];
 
+  hardeningDisable = [ "format" ];
+
   # Don't use optimization for gcc >= 4.3. That's said to be causing segfaults.
   # Unset CC and CXX as they confuse libtool.
   preConfigure = "export CFLAGS=-O0 CXXFLAGS=-O0; unset CC CXX";
@@ -30,7 +32,7 @@ composableDerivation.composableDerivation {} (fixed: rec {
     "--with-libz=${zlib.dev}"       # optional
 
     "--with-pg=${postgresql}/bin/pg_config"
-    "--with-mysql=${mysql.lib}/bin/mysql_config"
+    "--with-mysql=${mysql.lib.dev}/bin/mysql_config"
     "--with-geotiff=${libgeotiff}"
     "--with-python"               # optional
     "--with-static-proj4=${proj}" # optional
diff --git a/pkgs/development/libraries/gdk-pixbuf/default.nix b/pkgs/development/libraries/gdk-pixbuf/default.nix
index 1487d92dada0..85446aae8ca9 100644
--- a/pkgs/development/libraries/gdk-pixbuf/default.nix
+++ b/pkgs/development/libraries/gdk-pixbuf/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/libraries/gdome2/default.nix b/pkgs/development/libraries/gdome2/default.nix
index cc8f76949eea..e9643da221ef 100644
--- a/pkgs/development/libraries/gdome2/default.nix
+++ b/pkgs/development/libraries/gdome2/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation {
     sha256 = "0hyms5s3hziajp3qbwdwqjc2xcyhb783damqg8wxjpwfxyi81fzl";
   };
 
+  hardeningDisable = [ "format" ];
+
   buildInputs = [pkgconfig glib libxml2 gtkdoc];
   propagatedBuildInputs = [glib libxml2];
   patches = [ ./xml-document.patch ];
diff --git a/pkgs/development/libraries/gegl/3.0.nix b/pkgs/development/libraries/gegl/3.0.nix
index 2a201ed55236..df68eecd137b 100644
--- a/pkgs/development/libraries/gegl/3.0.nix
+++ b/pkgs/development/libraries/gegl/3.0.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, babl, libpng, cairo, libjpeg, which
-, librsvg, pango, gtk, bzip2, intltool, libtool, automake, autoconf, json_glib , libraw }:
+, librsvg, pango, gtk, bzip2, json_glib, intltool, autoreconfHook, libraw }:
 
 stdenv.mkDerivation rec {
   name = "gegl-0.3.6";
@@ -9,17 +9,19 @@ stdenv.mkDerivation rec {
     sha256 = "08m7dlf2kwmp7jw3qskwxas192swhn1g4jcd8aldg9drfjygprvh";
   };
 
-  configureScript = "./autogen.sh";
+  hardeningDisable = [ "format" ];
 
   # needs fonts otherwise  don't know how to pass them
   configureFlags = "--disable-docs";
 
-  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk bzip2 intltool
-                  autoconf automake libtool which json_glib libraw ];
+  buildInputs = [
+    babl libpng cairo libjpeg librsvg pango gtk bzip2 which json_glib intltool
+    libraw
+  ];
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
 
-  meta = { 
+  meta = {
     description = "Graph-based image processing framework";
     homepage = http://www.gegl.org;
     license = stdenv.lib.licenses.gpl3;
diff --git a/pkgs/development/libraries/gegl/default.nix b/pkgs/development/libraries/gegl/default.nix
index b54b3a38e764..304d8110ad46 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, gtk, bzip2, intltool
+, librsvg, pango, gtk2, bzip2, intltool
 , OpenGL ? null }:
 
 stdenv.mkDerivation rec {
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
 
-  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk bzip2 intltool ]
+  buildInputs = [ babl libpng cairo libjpeg librsvg pango gtk2 bzip2 intltool ]
     ++ stdenv.lib.optional stdenv.isDarwin OpenGL;
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/geoclue/default.nix b/pkgs/development/libraries/geoclue/default.nix
index 1b703e2fdba8..9aba42fdf4bf 100644
--- a/pkgs/development/libraries/geoclue/default.nix
+++ b/pkgs/development/libraries/geoclue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, dbus, dbus_glib, glib, pkgconfig, libxml2, gnome, libxslt }:
+{ stdenv, fetchurl, dbus, dbus_glib, glib, pkgconfig, libxml2, gnome2, libxslt }:
 
 stdenv.mkDerivation rec {
   name = "geoclue-0.12.0";
@@ -7,10 +7,12 @@ stdenv.mkDerivation rec {
     sha256 = "15j619kvmdgj2hpma92mkxbzjvgn8147a7500zl3bap9g8bkylqg";
   };
 
-  buildInputs = [ pkgconfig libxml2 gnome.GConf libxslt ];
+  buildInputs = [ pkgconfig libxml2 gnome2.GConf libxslt ];
 
   propagatedBuildInputs = [dbus glib dbus_glib];
 
+  hardeningDisable = [ "format" ];
+
   preConfigure = ''
     sed -e '/-Werror/d' -i configure
   '';
diff --git a/pkgs/development/libraries/gettext/default.nix b/pkgs/development/libraries/gettext/default.nix
index bf65e6947532..7d555ba4d062 100644
--- a/pkgs/development/libraries/gettext/default.nix
+++ b/pkgs/development/libraries/gettext/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "doc" ];
 
+  # FIXME stackprotector needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "format" "stackprotector" ];
+
   LDFLAGS = if stdenv.isSunOS then "-lm -lmd -lmp -luutil -lnvpair -lnsl -lidmap -lavl -lsec" else "";
 
   configureFlags = [ "--disable-csharp" "--with-xz" ]
diff --git a/pkgs/development/libraries/ggz_base_libs/default.nix b/pkgs/development/libraries/ggz_base_libs/default.nix
index 631160487d8e..6003c5ea33ea 100644
--- a/pkgs/development/libraries/ggz_base_libs/default.nix
+++ b/pkgs/development/libraries/ggz_base_libs/default.nix
@@ -12,8 +12,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ intltool openssl expat libgcrypt ];
 
+  patchPhase = ''
+    substituteInPlace configure \
+      --replace "/usr/local/ssl/include" "${openssl.dev}/include" \
+      --replace "/usr/local/ssl/lib" "${openssl.out}/lib"
+  '';
+
   configureFlags = [
-    "--with-ssl-dir=${openssl.dev}/"
     "--with-tls"
   ];
 
diff --git a/pkgs/development/libraries/giflib/4.1.nix b/pkgs/development/libraries/giflib/4.1.nix
index 2f9d54c0b4ee..c70bda034871 100644
--- a/pkgs/development/libraries/giflib/4.1.nix
+++ b/pkgs/development/libraries/giflib/4.1.nix
@@ -2,10 +2,14 @@
 
 stdenv.mkDerivation {
   name = "giflib-4.1.6";
+
   src = fetchurl {
     url = mirror://sourceforge/giflib/giflib-4.1.6.tar.bz2;
     sha256 = "1v9b7ywz7qg8hli0s9vv1b8q9xxb2xvqq2mg1zpr73xwqpcwxhg1";
   };
+
+  hardeningDisable = [ "format" ];
+
   meta = {
     branch = "4.1";
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/giflib/libungif.nix b/pkgs/development/libraries/giflib/libungif.nix
index 4abd96fa3cec..357ca751ccf1 100644
--- a/pkgs/development/libraries/giflib/libungif.nix
+++ b/pkgs/development/libraries/giflib/libungif.nix
@@ -7,6 +7,8 @@ stdenv.mkDerivation {
     sha256 = "5e65e1e5deacd0cde489900dbf54c6c2ee2ebc818199e720dbad685d87abda3d";
   };
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/gio-sharp/default.nix b/pkgs/development/libraries/gio-sharp/default.nix
index ad5220cac4e9..804da49fda93 100644
--- a/pkgs/development/libraries/gio-sharp/default.nix
+++ b/pkgs/development/libraries/gio-sharp/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoconf, automake, which, pkgconfig, mono, gtk-sharp }:
+{ stdenv, fetchFromGitHub, autoconf, automake, which, pkgconfig, mono, gtk-sharp-2_0 }:
 
 stdenv.mkDerivation rec {
   name = "gio-sharp-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig autoconf automake which ];
-  buildInputs = [ mono gtk-sharp ];
+  buildInputs = [ mono gtk-sharp-2_0 ];
 
   dontStrip = true;
 
diff --git a/pkgs/development/libraries/glew/default.nix b/pkgs/development/libraries/glew/default.nix
index 6595d97b01af..89bd7e918fdb 100644
--- a/pkgs/development/libraries/glew/default.nix
+++ b/pkgs/development/libraries/glew/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
     sha256 = "1iwb2a6wfhkzv6fa7zx2gz1lkwa0iwnd9ka1im5vdc44xm4dq9da";
   };
 
+  outputs = [ "bin" "out" "dev" "doc" ];
+
   nativeBuildInputs = [ xlibsWrapper libXmu libXi ];
   propagatedNativeBuildInputs = [ mesa_glu ]; # GL/glew.h includes GL/glu.h
 
@@ -24,7 +26,7 @@ stdenv.mkDerivation rec {
   installFlags = [ "install.all" ];
 
   preInstall = ''
-    export GLEW_DEST="$out"
+    makeFlagsArray+=(GLEW_DEST=$out BINDIR=$bin/bin INCDIR=$dev/include/GL)
   '';
 
   postInstall = ''
@@ -32,6 +34,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/lib/pkgconfig
     cp glew*.pc $out/lib/pkgconfig
     cp -r README.txt LICENSE.txt doc $out/share/doc/glew
+    rm $out/lib/*.a
   '';
 
   crossAttrs.makeFlags = [
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index fc4707aedb75..5c7b3123cb6f 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1cchmi08jpjypgmm9i7xzh5qfg2q5k61kry9ns8mhw3z44a440ym";
   };
 
-  outputs = [ "dev" "out" ]; # to deal with propagatedBuildInputs
+  outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
 
   configureFlags = "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt";
 
diff --git a/pkgs/development/libraries/glib/default.nix b/pkgs/development/libraries/glib/default.nix
index e82b4385a9c5..c678309e90a6 100644
--- a/pkgs/development/libraries/glib/default.nix
+++ b/pkgs/development/libraries/glib/default.nix
@@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
 
   patches = optional stdenv.isDarwin ./darwin-compilation.patch ++ optional doCheck ./skip-timer-test.patch;
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 3ee9d2289acd..15c455b7afb8 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -110,7 +110,7 @@ stdenv.mkDerivation ({
 
   installFlags = [ "sysconfdir=$(out)/etc" ];
 
-  outputs = [ "dev" "out" "bin" "static" ];
+  outputs = [ "out" "bin" "dev" "static" ];
 
   buildInputs = lib.optionals (cross != null) [ gccCross ]
     ++ lib.optionals withGd [ gd libpng ];
diff --git a/pkgs/development/libraries/glibc/default.nix b/pkgs/development/libraries/glibc/default.nix
index 4d377bb93cbe..1c116c8d9870 100644
--- a/pkgs/development/libraries/glibc/default.nix
+++ b/pkgs/development/libraries/glibc/default.nix
@@ -33,6 +33,8 @@ in
       makeFlagsArray+=("bindir=$bin/bin" "sbindir=$bin/sbin" "rootsbindir=$bin/sbin")
     '';
 
+    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
diff --git a/pkgs/development/libraries/glibc/multi.nix b/pkgs/development/libraries/glibc/multi.nix
index 0d7bed99f22f..5d3626b95cc0 100644
--- a/pkgs/development/libraries/glibc/multi.nix
+++ b/pkgs/development/libraries/glibc/multi.nix
@@ -6,7 +6,7 @@ let
   glibc64 = glibc;
 in
 runCommand "${nameVersion.name}-multi-${nameVersion.version}"
-  { outputs = [ "dev" "out" "bin" ]; } # TODO: no static version here (yet)
+  { outputs = [ "bin" "dev" "out"]; } # TODO: no static version here (yet)
   ''
     mkdir -p "$out/lib"
     ln -s '${glibc64.out}'/lib/* "$out/lib"
@@ -22,7 +22,7 @@ runCommand "${nameVersion.name}-multi-${nameVersion.version}"
     chmod +x "$bin/bin/ldd"
 
     mkdir "$dev"
-    cp -rs '${glibc32}'/include "$dev/"
+    cp -rs '${glibc32.dev}'/include "$dev/"
     chmod +w -R "$dev"
-    cp -rsf '${glibc64}'/include "$dev/"
+    cp -rsf '${glibc64.dev}'/include "$dev/"
   ''
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index e96665dbccb4..ba26a9a58515 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1pvw2mrm03p51p03179rb6fk9p42iykkwj1jcdv7jr265xymy8nw";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig gnum4 ];
   propagatedBuildInputs = [ glib libsigcxx ];
diff --git a/pkgs/development/libraries/gmime/default.nix b/pkgs/development/libraries/gmime/default.nix
index c9e78a9d56c0..4239b4458b8f 100644
--- a/pkgs/development/libraries/gmime/default.nix
+++ b/pkgs/development/libraries/gmime/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0rfzbgsh8ira5p76kdghygl5i3fvmmx4wbw5rp7f8ajc4vxp18g0";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib zlib libgpgerror ];
diff --git a/pkgs/development/libraries/gmp/4.3.2.nix b/pkgs/development/libraries/gmp/4.3.2.nix
index 02d24d21900b..1cb7fd42ccec 100644
--- a/pkgs/development/libraries/gmp/4.3.2.nix
+++ b/pkgs/development/libraries/gmp/4.3.2.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, m4, cxx ? true }:
 
-stdenv.mkDerivation rec {
+let self = stdenv.mkDerivation rec {
   name = "gmp-4.3.2";
 
   src = fetchurl {
@@ -8,6 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "0x8prpqi9amfcmi7r4zrza609ai9529pjaq0h4aw51i867064qck";
   };
 
+  #outputs TODO: split $cxx due to libstdc++ dependency
+  # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
+  # - see #5855 for related discussion
+  outputs = [ "out" "dev" "info" ];
+  passthru.static = self.out;
+
   nativeBuildInputs = [ m4 ];
 
   # Prevent the build system from using sub-architecture-specific
@@ -60,4 +66,5 @@ stdenv.mkDerivation rec {
     maintainers = [ ];
     platforms = stdenv.lib.platforms.all;
   };
-}
+};
+  in self
diff --git a/pkgs/development/libraries/gmp/5.1.x.nix b/pkgs/development/libraries/gmp/5.1.x.nix
index 1e9142444d11..b5cd936ce4f2 100644
--- a/pkgs/development/libraries/gmp/5.1.x.nix
+++ b/pkgs/development/libraries/gmp/5.1.x.nix
@@ -2,7 +2,7 @@
 
 with { inherit (stdenv.lib) optional optionalString; };
 
-stdenv.mkDerivation rec {
+let self = stdenv.mkDerivation rec {
   name = "gmp-5.1.3";
 
   src = fetchurl { # we need to use bz2, others aren't in bootstrapping stdenv
@@ -10,10 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "0q5i39pxrasgn9qdxzpfbwhh11ph80p57x6hf48m74261d97j83m";
   };
 
-  outputs = [ "out" "info" ];
+  #outputs TODO: split $cxx due to libstdc++ dependency
+  # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
+  # - see #5855 for related discussion
+  outputs = [ "out" "dev" "info" ];
+  passthru.static = self.out;
 
   nativeBuildInputs = [ m4 ];
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "format" "stackprotector" ];
+
   patches = if stdenv.isDarwin then [ ./need-size-t.patch ] else null;
 
   configureFlags =
@@ -73,4 +80,5 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     maintainers = [ maintainers.peti ];
   };
-}
+};
+  in self
diff --git a/pkgs/development/libraries/gmp/6.x.nix b/pkgs/development/libraries/gmp/6.x.nix
index 32009406a738..4d12ed8a8b18 100644
--- a/pkgs/development/libraries/gmp/6.x.nix
+++ b/pkgs/development/libraries/gmp/6.x.nix
@@ -10,10 +10,10 @@ let self = stdenv.mkDerivation rec {
     sha256 = "1mpzprdzkgfpdc1v2lf4dxlxps4x8bvmzvd8n1ri6gw9y9jrh458";
   };
 
-  #outputs TODO: split $cxx due to libstdc++ dependency; maybe port to gmp5;
+  #outputs TODO: split $cxx due to libstdc++ dependency
   # maybe let ghc use a version with *.so shared with rest of nixpkgs and *.a added
   # - see #5855 for related discussion
-  outputs = [ "dev" "out" "info" ];
+  outputs = [ "out" "dev" "info" ];
   passthru.static = self.out;
 
   nativeBuildInputs = [ m4 ];
diff --git a/pkgs/development/libraries/gnome-sharp/default.nix b/pkgs/development/libraries/gnome-sharp/default.nix
index 59f97e46bef0..f95d0720d830 100644
--- a/pkgs/development/libraries/gnome-sharp/default.nix
+++ b/pkgs/development/libraries/gnome-sharp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, gtk, mono, gtk-sharp, gnome}:
+{stdenv, fetchurl, pkgconfig, gtk2, mono, gtk-sharp-2_0, gnome2}:
 
 stdenv.mkDerivation {
   name = "gnome-sharp-2.24.1";
@@ -7,8 +7,8 @@ stdenv.mkDerivation {
     sha256 = "0cfvs7hw67fp0wimskqd0gdfx323gv6hi0c5pf59krnmhdrl6z8p";
   };
 
-  buildInputs = [ pkgconfig gtk mono gtk-sharp ]
-  ++ (with gnome; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui]);
+  buildInputs = [ pkgconfig gtk2 mono gtk-sharp-2_0 ]
+  ++ (with gnome2; [ libart_lgpl gnome_vfs libgnome libgnomecanvas libgnomeui]);
 
   patches = [ ./Makefile.in.patch ];
 
diff --git a/pkgs/development/libraries/gnu-efi/default.nix b/pkgs/development/libraries/gnu-efi/default.nix
index 336785e1abdd..d679d88e91d1 100644
--- a/pkgs/development/libraries/gnu-efi/default.nix
+++ b/pkgs/development/libraries/gnu-efi/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pciutils ];
 
+  hardeningDisable = [ "stackprotector" ];
+
   makeFlags = [
     "PREFIX=\${out}"
     "CC=gcc"
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 8d3ef3f4c777..f031cb93c985 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -17,8 +17,8 @@ stdenv.mkDerivation {
 
   inherit src patches;
 
-  outputs = [ "dev" "out" "bin" "man" "docdev" ];
-  outputInfo = "docdev";
+  outputs = [ "bin" "dev" "out" "man" "devdoc" ];
+  outputInfo = "devdoc";
 
   postPatch = lib.optionalString (lib.versionAtLeast version "3.4") ''
     sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 0b48ef076b1f..57c42ee21efe 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     sha256 = "0xsqwxhfqzr79av89mg766kxpb2i41bd0vwspk01xjdzrnn5l9zs";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
   outputMan = "dev"; # tiny pages
 
diff --git a/pkgs/development/libraries/goffice/0.8.nix b/pkgs/development/libraries/goffice/0.8.nix
index 75a7dfb48980..2da683fcbeb7 100644
--- a/pkgs/development/libraries/goffice/0.8.nix
+++ b/pkgs/development/libraries/goffice/0.8.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, glib, gtk, libglade, bzip2
+{ fetchurl, stdenv, pkgconfig, glib, gtk2, libglade, bzip2
 , pango, libgsf, libxml2, libart, intltool, gettext
 , cairo, gconf, libgnomeui, pcre, goffice/*just meta*/ }:
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [
     # All these are in the "Requires:" field of `libgoffice-0.6.pc'.
-    glib libgsf libxml2 gtk libglade libart cairo pango
+    glib libgsf libxml2 gtk2 libglade libart cairo pango
   ];
 
   postInstall =
diff --git a/pkgs/development/libraries/goocanvas/default.nix b/pkgs/development/libraries/goocanvas/default.nix
index 5a367e1d593a..080b781ca31a 100644
--- a/pkgs/development/libraries/goocanvas/default.nix
+++ b/pkgs/development/libraries/goocanvas/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gtk, cairo, glib, pkgconfig }:
+{ stdenv, fetchurl, gtk2, cairo, glib, pkgconfig }:
 
 stdenv.mkDerivation rec {
   majVersion = "1.0";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "07kicpcacbqm3inp7zq32ldp95mxx4kfxpaazd0x5jk7hpw2w1qw";
   };
 
-  buildInputs = [ gtk cairo glib pkgconfig ];
+  buildInputs = [ gtk2 cairo glib pkgconfig ];
 
   meta = { 
     description = "Canvas widget for GTK+ based on the the Cairo 2D library";
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index 5fa14e64a22f..8eb79b27fdc6 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchurl, unzip, libunwind }:
+{ stdenv, fetchurl, libunwind }:
 
 stdenv.mkDerivation rec {
-  name = "gperftools-2.4";
+  name = "gperftools-2.5";
 
   src = fetchurl {
-    url = "https://googledrive.com/host/0B6NtGsLhIcf7MWxMMF9JdTN3UVk/gperftools-2.4.tar.gz";
-    sha256 = "0b8aqgch8dyapzw2zd9g89x6gsnm2ml0gf169rql0bxldqi3falq";
+    url = "https://github.com/gperftools/gperftools/releases/download/${name}/${name}.tar.gz";
+    sha256 = "0wsix3lhkpjv8lxmcbml549mfwifdv7n1qak09slvx6d3a7p98kg";
   };
 
-  buildInputs = [ unzip ] ++ stdenv.lib.optional stdenv.isLinux libunwind;
+  buildInputs = stdenv.lib.optional stdenv.isLinux libunwind;
 
   prePatch = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace Makefile.am --replace stdc++ c++
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     description = "Fast, multi-threaded malloc() and nifty performance analysis tools";
     platforms = with platforms; linux ++ darwin;
     license = licenses.bsd3;
-    maintainers = with maintainers; [ wkennington ];
+    maintainers = with maintainers; [ vcunat wkennington ];
   };
 }
diff --git a/pkgs/development/libraries/gpgme/default.nix b/pkgs/development/libraries/gpgme/default.nix
index c60311423233..53acdfed3ba2 100644
--- a/pkgs/development/libraries/gpgme/default.nix
+++ b/pkgs/development/libraries/gpgme/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     sha256 = "17892sclz3yg45wbyqqrzzpq3l0icbnfl28f101b3062g8cy97dh";
   };
 
-  outputs = [ "dev" "out" "info" ];
+  outputs = [ "out" "dev" "info" ];
   outputBin = "dev"; # gpgme-config; not so sure about gpgme-tool
 
   propagatedBuildInputs = [ libgpgerror glib libassuan pth ];
diff --git a/pkgs/development/libraries/grail/default.nix b/pkgs/development/libraries/grail/default.nix
index a4f27824d136..3464e2294952 100644
--- a/pkgs/development/libraries/grail/default.nix
+++ b/pkgs/development/libraries/grail/default.nix
@@ -4,13 +4,14 @@
 stdenv.mkDerivation rec {
   name = "grail-${version}";
   version = "3.1.0";
+
   src = fetchurl {
     url = "https://launchpad.net/grail/trunk/${version}/+download/${name}.tar.bz2";
     sha256 = "c26dced1b3f4317ecf6af36db0e90294d87e43966d56aecc4e97b65368ab78b9";
   };
 
   buildInputs = [ pkgconfig python3 frame ]
-  ++ stdenv.lib.optional enableX11 [xorg.libX11 xorg.libXtst xorg.libXext xorg.libXi xorg.libXfixes];
+  ++ stdenv.lib.optionals enableX11 [xorg.libX11 xorg.libXtst xorg.libXext xorg.libXi xorg.libXfixes];
 
   configureFlags = stdenv.lib.optional enableX11 "--with-x11";
 
@@ -20,4 +21,4 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/gsl/default.nix b/pkgs/development/libraries/gsl/default.nix
index 4ab1b0cf56c5..82e41329e001 100644
--- a/pkgs/development/libraries/gsl/default.nix
+++ b/pkgs/development/libraries/gsl/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, fetchpatch, stdenv }:
 
 stdenv.mkDerivation rec {
-  name = "gsl-2.1";
+  name = "gsl-2.2";
 
   src = fetchurl {
     url = "mirror://gnu/gsl/${name}.tar.gz";
-    sha256 = "0rhcia9jhr3p1f1wybwyllwqfs9bggz99i3mi5lpyqcpff1hdbar";
+    sha256 = "1pyq2c0j91z955746myn29c89jwkd435s2cbj8ks2hpag6d0mr2d";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gsm/default.nix b/pkgs/development/libraries/gsm/default.nix
index fb9ff8eb0fbc..42d36b8406e2 100644
--- a/pkgs/development/libraries/gsm/default.nix
+++ b/pkgs/development/libraries/gsm/default.nix
@@ -41,8 +41,6 @@ stdenv.mkDerivation rec {
 
   preInstall = "mkdir -p $out/{bin,lib,man/man1,man/man3,include/gsm}";
 
-  NIX_CFLAGS_COMPILE = optional (!staticSupport) "-fPIC";
-
   parallelBuild = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index ffe21d437922..a91acdbb0086 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       a real live maintainer, or some actual wide use.
     '';
     license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
   };
 
   src = fetchurl {
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     sha256 = "d7995317530c8773ec088f94d9320909d41da61996b801ebacce9a56af493f97";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig python ];
 
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 76f2662ec43c..00aa893bd33e 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "9d7109c8fb0a5dec8edb17b0053c59a46aba7ddf48dc48ea822ebbbd4339d38d";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
     pkgconfig python gobjectIntrospection
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 43aec752054f..da15755355d3 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "9dbebe079c2ab2004ef7f2649fa317cabea1feb4fb5605c24d40744b90918341";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 836bcb6ce668..5f60b9c03a31 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "a1d57ff9461407cca1f6e7a9f31a5bdb73f73f33c488a3e3318b27e10a4332ae";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig python gobjectIntrospection flex perl ];
 
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index db29413476f6..90d4ec458a93 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "0zv60rq2h736a6fivd3a3wp59dj1jar7b2vwzykahvl168b7wrid";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index 1bd80cfa1c7b..a44bdbcd08c4 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
       code, LGPL or LGPL-compatible for the supporting library).
     '';
     license     = licenses.lgpl2Plus;
-    platforms   = platforms.unix;
+    platforms   = platforms.linux;
   };
 
   src = fetchurl {
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     sha256 = "8d7549118a3b7a009ece6bb38a05b66709c551d32d2adfd89eded4d1d7a23944";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig python ];
 
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
index 9b7db6d47324..176e19000e91 100644
--- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0bj6and9b26d32bq90l8nx5wqh2ikkh8dm7qwxyxfdvmrzhixhgi";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig file ];
 
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 191c1f6b0f2c..f8a75c251226 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, gst_plugins_base, aalib, cairo
+{ 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
@@ -20,13 +20,13 @@ stdenv.mkDerivation rec {
 
   patches = [ ./v4l.patch ./linux-headers-3.9.patch ];
 
-  configureFlags = "--enable-experimental --disable-oss";
+  configureFlags = [ "--enable-experimental" "--disable-oss" ];
 
   buildInputs =
     [ pkgconfig glib gstreamer gst_plugins_base ]
-    ++ stdenv.lib.optional stdenv.isLinux [ libpulseaudio ]
+    ++ lib.optional stdenv.isLinux [ libpulseaudio ]
     ++ libintlOrEmpty
-    ++ stdenv.lib.optionals (!minimalDeps)
+    ++ lib.optionals (!minimalDeps)
       [ aalib libcaca cairo libdv flac libjpeg libpng speex
         taglib bzip2 libvpx gdk_pixbuf orc libsoup libshout ];
 
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  postInstall = ''
+  postInstall = lib.optionalString (!minimalDeps) ''
     substituteInPlace $out/lib/gstreamer-0.10/libgstaasink.la \
       --replace "${ncurses.dev}/lib" "${ncurses.out}/lib"
   '';
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
index b0ac9e799e9a..b8a18d70af97 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, pkgconfig, python, gstreamer
-, gst_plugins_base, pygobject
+, gst_plugins_base, pygobject2
 }:
 
 stdenv.mkDerivation rec {
@@ -13,12 +13,14 @@ stdenv.mkDerivation rec {
     sha256 = "0y1i4n5m1diljqr9dsq12anwazrhbs70jziich47gkdwllcza9lg";
   };
 
+  hardeningDisable = [ "bindnow" ];
+
   # Need to disable the testFake test case due to bug in pygobject.
   # See https://bugzilla.gnome.org/show_bug.cgi?id=692479
   patches = [ ./disable-testFake.patch ];
 
   buildInputs =
-    [ pkgconfig gst_plugins_base pygobject ]
+    [ pkgconfig gst_plugins_base pygobject2 ]
     ;
 
   propagatedBuildInputs = [ gstreamer python ];
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 312a8a1d394f..788aacf03ec6 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "b5f3c7a27b39b5f5c2f0bfd546b0c655020faf6b38d27b64b346c43e5ebf687a";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   configureFlags = stdenv.lib.optionalString withSystemLibav
     "--with-system-libav";
diff --git a/pkgs/development/libraries/gstreamer/python/default.nix b/pkgs/development/libraries/gstreamer/python/default.nix
index 53e094f7ce75..842dd0df0fc7 100644
--- a/pkgs/development/libraries/gstreamer/python/default.nix
+++ b/pkgs/development/libraries/gstreamer/python/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./different-path-with-pygobject.patch ];
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig python ];
 
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
index 675fdf322e87..72068bb1f7bc 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [ gst_all_1.gstreamer gst_all_1.gst-plugins-base glib qt4 ];
   propagatedBuildInputs = [ boost ];
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 65490c7db244..ab6e1f9f4f17 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     sha256 = "9c5b33a2a98fc1d6d6c99a1b536b1fb2de45f53cc8bf8ab85a8b8141fed1a8ac";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig python ];
 
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 18394193706a..9972468f1b7f 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "14jal2g5mf8r59w8420ixl3kg50vcmy56446ncwd0xrizd6yms5b";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = with stdenv.lib; [ pkgconfig bzip2 ];
 
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index a837a94eac7a..2de3955ab06a 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "33c5b585c5ca1659fe6c09fdf02e45d8132c0d386b405bf527b14ab481a0bafe";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [
     pkgconfig gobjectIntrospection
diff --git a/pkgs/development/libraries/gtdialog/default.nix b/pkgs/development/libraries/gtdialog/default.nix
index 8d8a018f1fe0..1931624d08f2 100644
--- a/pkgs/development/libraries/gtdialog/default.nix
+++ b/pkgs/development/libraries/gtdialog/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, cdk, unzip, gtk, glib, ncurses, pkgconfig}:
+{stdenv, fetchurl, cdk, unzip, gtk2, glib, ncurses, pkgconfig}:
 let
   s = # Generated upstream information
   rec {
@@ -10,7 +10,7 @@ let
     sha256="0nvcldyhj8abr8jny9pbyfjwg8qfp9f2h508vjmrvr5c5fqdbbm0";
   };
   buildInputs = [
-    cdk unzip gtk glib ncurses pkgconfig
+    cdk unzip gtk2 glib ncurses pkgconfig
   ];
 in
 stdenv.mkDerivation {
diff --git a/pkgs/development/libraries/gtk+/2.x.nix b/pkgs/development/libraries/gtk+/2.x.nix
index faaff415f5f8..df645f109613 100644
--- a/pkgs/development/libraries/gtk+/2.x.nix
+++ b/pkgs/development/libraries/gtk+/2.x.nix
@@ -8,14 +8,14 @@ assert xineramaSupport -> xorg.libXinerama != null;
 assert cupsSupport -> cups != null;
 
 stdenv.mkDerivation rec {
-  name = "gtk+-2.24.30";
+  name = "gtk+-2.24.31";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk+/2.24/${name}.tar.xz";
-    sha256 = "0d15cec3b6d55c60eac205b1f3ba81a1ed4eadd9d0f8e7c508bc7065d0c4ca50";
+    sha256 = "68c1922732c7efc08df4656a5366dcc3afdc8791513400dac276009b40954658";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   enableParallelBuilding = true;
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     else "--with-xinput=yes";
 
   postInstall = ''
-    moveToOutput share/gtk-2.0/demo "$docdev"
+    moveToOutput share/gtk-2.0/demo "$devdoc"
   '';
 
   passthru = {
diff --git a/pkgs/development/libraries/gtk+/3.x.nix b/pkgs/development/libraries/gtk+/3.x.nix
index b0409ee2808a..1ac006b21617 100644
--- a/pkgs/development/libraries/gtk+/3.x.nix
+++ b/pkgs/development/libraries/gtk+/3.x.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     sha256 = "05xcwvy68p7f4hdhi4bgdm3aycvqqr4pr5kkkr8ba91l5yx0k9l3";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   nativeBuildInputs = [ pkgconfig gettext gobjectIntrospection perl ];
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     ++ optional cupsSupport cups;
   #TODO: colord?
 
-  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
+  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";
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
     "--enable-wayland-backend"
   ];
 
-  postInstall = ''
+  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/gtk-sharp-beans/default.nix b/pkgs/development/libraries/gtk-sharp-beans/default.nix
index 92578f42e341..b92bbf64514e 100644
--- a/pkgs/development/libraries/gtk-sharp-beans/default.nix
+++ b/pkgs/development/libraries/gtk-sharp-beans/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, mono, gtk-sharp, gio-sharp }:
+{ stdenv, fetchFromGitHub, autoreconfHook, which, pkgconfig, mono, gtk-sharp-2_0, gio-sharp }:
 
 stdenv.mkDerivation rec {
   name = "gtk-sharp-beans-${version}";
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook which ];
-  buildInputs = [ mono gtk-sharp gio-sharp ];
+  buildInputs = [ mono gtk-sharp-2_0 gio-sharp ];
 
   dontStrip = true;
 
diff --git a/pkgs/development/libraries/gtk-sharp/2.0.nix b/pkgs/development/libraries/gtk-sharp/2.0.nix
index 20c79d7202eb..ca6c4d0dfa63 100644
--- a/pkgs/development/libraries/gtk-sharp/2.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/2.0.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, mono
 , glib
 , pango
-, gtk
+, gtk2
 , GConf ? null
 , libglade ? null
 , libgtkhtml ? null
@@ -10,7 +10,6 @@
 , libgnomeui ? null
 , libgnomeprint ? null
 , libgnomeprintui ? null
-, gnomepanel ? null
 , libxml2
 , monoDLLFixer
 }:
@@ -34,9 +33,8 @@ stdenv.mkDerivation {
   '';
 
   buildInputs = [
-    pkgconfig mono glib pango gtk GConf libglade libgnomecanvas
+    pkgconfig mono glib pango gtk2 GConf libglade libgnomecanvas
     libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
-    gnomepanel
   ];
 
   dontStrip = true;
@@ -44,7 +42,7 @@ stdenv.mkDerivation {
   inherit monoDLLFixer;
 
   passthru = {
-    inherit gtk;
+    gtk = gtk2;
   };
 
   meta = {
diff --git a/pkgs/development/libraries/gtk-sharp/3.0.nix b/pkgs/development/libraries/gtk-sharp/3.0.nix
index 9fb99c3f27e7..459f37afc7fe 100644
--- a/pkgs/development/libraries/gtk-sharp/3.0.nix
+++ b/pkgs/development/libraries/gtk-sharp/3.0.nix
@@ -10,7 +10,6 @@
 , libgnomeui ? null
 , libgnomeprint ? null
 , libgnomeprintui ? null
-, gnomepanel ? null
 , libxml2
 , monoDLLFixer
 }:
@@ -35,7 +34,6 @@ stdenv.mkDerivation {
   buildInputs = [
     pkgconfig mono glib pango gtk3 GConf libglade libgnomecanvas
     libgtkhtml libgnomeui libgnomeprint libgnomeprintui gtkhtml libxml2
-    gnomepanel
   ];
 
   dontStrip = true;
diff --git a/pkgs/development/libraries/gtkdatabox/default.nix b/pkgs/development/libraries/gtkdatabox/default.nix
index 6e5a1329c9b2..82c4f25f66c9 100644
--- a/pkgs/development/libraries/gtkdatabox/default.nix
+++ b/pkgs/development/libraries/gtkdatabox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk }:
+{ stdenv, fetchurl, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
   name = "gtkdatabox-0.9.2.0";
@@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
     sha256 = "0h20685bzw5j5h6mw8c6apbrbrd9w518c6xdhr55147px11nhnkl";
   };
 
-  buildInputs = [ pkgconfig gtk ];
+  buildInputs = [ pkgconfig ];
 
-  propagatedBuildInputs = [ gtk ];
+  propagatedBuildInputs = [ gtk2 ];
 
   meta = {
     description = "Gtk+ widget for displaying large amounts of numerical data";
diff --git a/pkgs/development/libraries/gtkimageview/default.nix b/pkgs/development/libraries/gtkimageview/default.nix
index d88160361ca5..eb0ba2db1030 100644
--- a/pkgs/development/libraries/gtkimageview/default.nix
+++ b/pkgs/development/libraries/gtkimageview/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, gtk }:
+{ fetchurl, stdenv, pkgconfig, gtk2 }:
 
 stdenv.mkDerivation rec {
   name = "gtkimageview-1.6.4";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1if3yh5z6nkv5wnkk0qyy9pkk03vn5rqbfk23q87kj39pqscgr37";
   };
 
-  buildInputs = [ pkgconfig gtk ];
+  buildInputs = [ pkgconfig gtk2 ];
 
   preConfigure = ''
     sed '/DEPRECATED_FLAGS/d' -i configure
diff --git a/pkgs/development/libraries/gtkmathview/default.nix b/pkgs/development/libraries/gtkmathview/default.nix
index 8a6914cfcd3b..e36d77142e92 100644
--- a/pkgs/development/libraries/gtkmathview/default.nix
+++ b/pkgs/development/libraries/gtkmathview/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, gtk, t1lib, glib, libxml2, popt, gmetadom ? null }:
+{stdenv, fetchurl, pkgconfig, gtk2, t1lib, glib, libxml2, popt, gmetadom ? null }:
 
 let
   pname = "gtkmathview";
@@ -13,8 +13,8 @@ stdenv.mkDerivation {
     sha256 = "0hwcamf5fi35frg7q6kgisc9v0prqbhsplb2gl55cg3av9sh3hqx";
   };
 
-  buildInputs = [pkgconfig gtk t1lib glib gmetadom libxml2 popt];
-  propagatedBuildInputs = [gtk t1lib];
+  buildInputs = [pkgconfig t1lib glib gmetadom libxml2 popt];
+  propagatedBuildInputs = [gtk2 t1lib];
 
   patches = [ ./gcc-4.3-build-fixes.patch ./gcc-4.4-build-fixes.patch ];
 
@@ -23,5 +23,6 @@ stdenv.mkDerivation {
     description = "C++ rendering engine for MathML documents";
     license = stdenv.lib.licenses.lgpl3Plus;
     maintainers = [ stdenv.lib.maintainers.roconnor ];
+    broken = true;
   };
 }
diff --git a/pkgs/development/libraries/gtkmm/2.x.nix b/pkgs/development/libraries/gtkmm/2.x.nix
index 76175859e7d4..b87b60c59da9 100644
--- a/pkgs/development/libraries/gtkmm/2.x.nix
+++ b/pkgs/development/libraries/gtkmm/2.x.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, glibmm, cairomm, pangomm, atkmm }:
+{ stdenv, fetchurl, pkgconfig, gtk2, glibmm, cairomm, pangomm, atkmm }:
 
 stdenv.mkDerivation rec {
   name = "gtkmm-${minVer}.4";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [pkgconfig];
 
-  propagatedBuildInputs = [ glibmm gtk atkmm cairomm pangomm ];
+  propagatedBuildInputs = [ glibmm gtk2 atkmm cairomm pangomm ];
 
   doCheck = true;
 
diff --git a/pkgs/development/libraries/gtkmozembed-sharp/default.nix b/pkgs/development/libraries/gtkmozembed-sharp/default.nix
index 512d443f9fc7..52fc4b26e6da 100644
--- a/pkgs/development/libraries/gtkmozembed-sharp/default.nix
+++ b/pkgs/development/libraries/gtkmozembed-sharp/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, pkgconfig, mono, gtksharp, gtk, monoDLLFixer}:
+{stdenv, fetchurl, pkgconfig, mono, gtksharp, gtk2, monoDLLFixer}:
 
 stdenv.mkDerivation {
   name = "gtkmozembed-sharp-0.7-pre41601";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [
-    pkgconfig mono gtksharp gtk
+    pkgconfig mono gtksharp gtk2
   ];
 
   inherit monoDLLFixer;
diff --git a/pkgs/development/libraries/gtkspell/default.nix b/pkgs/development/libraries/gtkspell/default.nix
index daf400fdc5a5..22b96abf6429 100644
--- a/pkgs/development/libraries/gtkspell/default.nix
+++ b/pkgs/development/libraries/gtkspell/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gtk, aspell, pkgconfig, enchant, intltool}:
+{stdenv, fetchurl, gtk2, aspell, pkgconfig, enchant, intltool}:
 
 stdenv.mkDerivation {
   name = "gtkspell-2.0.16";
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "00hdv28bp72kg1mq2jdz1sdw2b8mb9iclsp7jdqwpck705bdriwg";
   };
   
-  buildInputs = [aspell pkgconfig gtk enchant intltool];
+  buildInputs = [aspell pkgconfig gtk2 enchant intltool];
 
   meta = {
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 37403f50e2b1..5ef8bbac5d16 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -2,7 +2,7 @@
 , glib, dbus, udev, libgudev, udisks2, libgcrypt
 , libgphoto2, avahi, libarchive, fuse, libcdio
 , libxml2, libxslt, docbook_xsl, samba, libmtp
-, gnomeSupport ? false, gnome,libgnome_keyring, gconf, makeWrapper }:
+, gnomeSupport ? false, gnome, libgnome_keyring, makeWrapper }:
 
 let
   ver_maj = "1.22";
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index 131dbbfd09cf..d1c41c9ea808 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
     sha256 = "09lh8x6qj0cd950whgaqqi3c4pqbl6z7aw9ddm73i14bw056185v";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   configureFlags = [
diff --git a/pkgs/development/libraries/hspell/default.nix b/pkgs/development/libraries/hspell/default.nix
index 9b44d12c2934..eebd105a00db 100644
--- a/pkgs/development/libraries/hspell/default.nix
+++ b/pkgs/development/libraries/hspell/default.nix
@@ -16,8 +16,6 @@ stdenv.mkDerivation rec {
   patchPhase = ''patchShebangs .'';
   buildInputs = [ perl zlib ];
 
-  makeFlags = "CFLAGS=-fPIC";
-
   meta = {
     description = "Hebrew spell checker";
     homepage = http://hspell.ivrix.org.il/;
diff --git a/pkgs/development/libraries/hunspell/default.nix b/pkgs/development/libraries/hunspell/default.nix
index 0d0ff38fb47f..c33434d202f5 100644
--- a/pkgs/development/libraries/hunspell/default.nix
+++ b/pkgs/development/libraries/hunspell/default.nix
@@ -8,11 +8,13 @@ stdenv.mkDerivation rec {
     sha256 = "0v14ff9s37vkh45diaddndcrj0hmn67arh8xh8k79q9c1vgc1cm7";
   };
 
-  outputs = [ "dev" "out" "bin" "man" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   buildInputs = [ ncurses readline ];
   configureFlags = [ "--with-ui" "--with-readline" ];
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     homepage = http://hunspell.sourceforge.net;
     description = "Spell checker";
diff --git a/pkgs/development/libraries/hyena/default.nix b/pkgs/development/libraries/hyena/default.nix
index 00d3e45805cb..2c1ca6aeb1e8 100644
--- a/pkgs/development/libraries/hyena/default.nix
+++ b/pkgs/development/libraries/hyena/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, mono, gtk-sharp, monoDLLFixer }:
+{ stdenv, fetchurl, pkgconfig, mono, gtk-sharp-2_0, monoDLLFixer }:
 
 stdenv.mkDerivation rec {
   name = "hyena-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    pkgconfig mono gtk-sharp
+    pkgconfig mono gtk-sharp-2_0
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/icu/54.1.nix b/pkgs/development/libraries/icu/54.1.nix
index 4d780341b3aa..cd4398b3cc03 100644
--- a/pkgs/development/libraries/icu/54.1.nix
+++ b/pkgs/development/libraries/icu/54.1.nix
@@ -6,7 +6,7 @@ in
   stdenv.lib.overrideDerivation icu (attrs: {
     src = fetchurl {
       url = "http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz";
-      md5 = "e844caed8f2ca24c088505b0d6271bc0";
+      sha256 = "1cwapgjmvrcv1n2wjspj3vahidg596gjfp4jn1gcb4baralcjayl";
     };
   })
 
diff --git a/pkgs/development/libraries/icu/default.nix b/pkgs/development/libraries/icu/default.nix
index 2f7c42c72b7c..a7bf4af99fb3 100644
--- a/pkgs/development/libraries/icu/default.nix
+++ b/pkgs/development/libraries/icu/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation ({
     sha256 = "10cmkqigxh9f73y7q3p991q6j8pph0mrydgj11w1x6wlcp5ng37z";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   makeFlags = stdenv.lib.optionalString stdenv.isDarwin
diff --git a/pkgs/development/libraries/ignition-transport/generic.nix b/pkgs/development/libraries/ignition-transport/generic.nix
index 0b10c2cdb52f..5edbf9e4551c 100644
--- a/pkgs/development/libraries/ignition-transport/generic.nix
+++ b/pkgs/development/libraries/ignition-transport/generic.nix
@@ -15,6 +15,10 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ cppzmq ];
 
+  postPatch = ''
+    substituteInPlace cmake/ignition-config.cmake.in --replace "@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_" "@CMAKE_INSTALL_"
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://ignitionrobotics.org/libraries/math;
     description = "Math library by Ingition Robotics, created for the Gazebo project";
diff --git a/pkgs/development/libraries/ilmbase/default.nix b/pkgs/development/libraries/ilmbase/default.nix
index 742048c9ae66..21c2c46105e5 100644
--- a/pkgs/development/libraries/ilmbase/default.nix
+++ b/pkgs/development/libraries/ilmbase/default.nix
@@ -8,12 +8,16 @@ stdenv.mkDerivation rec {
     sha256 = "1izddjwbh1grs8080vmaix72z469qy29wrvkphgmqmcm0sv1by7c";
   };
 
+  outputs = [ "out" "dev" ];
+
   preConfigure = ''
     ./bootstrap
   '';
 
   buildInputs = [ automake autoconf libtool which ];
 
+  NIX_CFLAGS_LINK = [ "-pthread" ];
+
   patches = [ ./bootstrap.patch ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/imlib/default.nix b/pkgs/development/libraries/imlib/default.nix
index e99fc2ca3f96..624e401b62f7 100644
--- a/pkgs/development/libraries/imlib/default.nix
+++ b/pkgs/development/libraries/imlib/default.nix
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
 
   configureFlags = "
     --disable-shm
-    --x-includes=${libX11}/include
-    --x-libraries=${libX11}/lib";
+    --x-includes=${libX11.dev}/include
+    --x-libraries=${libX11.out}/lib";
 
   buildInputs = [libjpeg libXext libX11 xextproto libtiff libungif libpng];
 
diff --git a/pkgs/development/libraries/isl/0.14.1.nix b/pkgs/development/libraries/isl/0.14.1.nix
index 8196dec283ac..77ba20cbb200 100644
--- a/pkgs/development/libraries/isl/0.14.1.nix
+++ b/pkgs/development/libraries/isl/0.14.1.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   meta = {
     homepage = http://www.kotnet.org/~skimo/isl/;
     license = stdenv.lib.licenses.lgpl21;
diff --git a/pkgs/development/libraries/itk/default.nix b/pkgs/development/libraries/itk/default.nix
index 7b4e3834af76..ae1f9996b78a 100644
--- a/pkgs/development/libraries/itk/default.nix
+++ b/pkgs/development/libraries/itk/default.nix
@@ -1,18 +1,17 @@
 {stdenv, fetchurl, cmake, libX11, libuuid, xz}:
 
 stdenv.mkDerivation rec {
-  name = "itk-4.0.0";
+  name = "itk-4.10.0";
 
   src = fetchurl {
-    url = mirror://sourceforge/itk/InsightToolkit-4.0.0.tar.xz;
-    sha256 = "05z49sw612cbyiaghcsda0xylrkf06jh81ql79si5632w1hpgbd9";
+    url = mirror://sourceforge/itk/InsightToolkit-4.10.0.tar.xz;
+    sha256 = "0pxijhqsnwcp9jv1d8p11hsj90k8ajpwxhrnn8kk8c56k7y1207a";
   };
 
   cmakeFlags = [
     "-DBUILD_TESTING=OFF"
     "-DBUILD_EXAMPLES=OFF"
     "-DBUILD_SHARED_LIBS=ON"
-    "-DCMAKE_CXX_FLAGS=-fPIC"
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 2dca5fa22406..586cd9ed43f6 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--enable-shared";
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/java/aterm/default.nix b/pkgs/development/libraries/java/aterm/default.nix
deleted file mode 100644
index f643c607cbd1..000000000000
--- a/pkgs/development/libraries/java/aterm/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl, jdk, sharedobjects, jjtraveler}:
-
-stdenv.mkDerivation {
-  name = "aterm-java-1.6";
-  src = fetchurl {
-    url = http://www.cwi.nl/projects/MetaEnv/aterm-java/aterm-java-1.6.tar.gz;
-    md5 = "abf475dae2f5efca865fcdff871feb5e";
-  };
-  buildInputs = [stdenv jdk sharedobjects jjtraveler];
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/java/classpath/default.nix b/pkgs/development/libraries/java/classpath/default.nix
index 889137d62840..9fb2a2a2e3a1 100644
--- a/pkgs/development/libraries/java/classpath/default.nix
+++ b/pkgs/development/libraries/java/classpath/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk, gconf, ecj }:
+{ fetchurl, stdenv, javac, jvm, antlr, pkgconfig, gtk2, gconf, ecj }:
 
 stdenv.mkDerivation rec {
   name = "classpath-0.99";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./missing-casts.patch ];
 
-  buildInputs = [ javac jvm antlr pkgconfig gtk gconf ecj ];
+  buildInputs = [ javac jvm antlr pkgconfig gtk2 gconf ecj ];
 
   configurePhase = ''
     # GCJ tries to compile all of Classpath during the `configure' run when
diff --git a/pkgs/development/libraries/java/javasvn/default.nix b/pkgs/development/libraries/java/javasvn/default.nix
index b698de6d5a7f..2ad9a33879ca 100644
--- a/pkgs/development/libraries/java/javasvn/default.nix
+++ b/pkgs/development/libraries/java/javasvn/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = http://tmate.org/svn/org.tmatesoft.svn_1.0.6.standalone.zip;
-    md5 = "459cae849eceef04cd65fd6fb54affcc";
+    sha256 = "0l2s3jqi5clzj5jz962i7gmy8ims51ma60mm5iflsl00dwbmgrqf";
   };
   
   inherit unzip;
diff --git a/pkgs/development/libraries/java/rhino/default.nix b/pkgs/development/libraries/java/rhino/default.nix
index 37ab6b4f8fd4..f106bbe6ebca 100644
--- a/pkgs/development/libraries/java/rhino/default.nix
+++ b/pkgs/development/libraries/java/rhino/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation {
 
   patches = [ ./gcj-type-mismatch.patch ];
 
+  hardeningDisable = [ "fortify" "format" ];
+
   preConfigure =
     ''
       find -name \*.jar -or -name \*.class -exec rm -v {} \;
diff --git a/pkgs/development/libraries/java/swt/default.nix b/pkgs/development/libraries/java/swt/default.nix
index 37b8b502c3b7..2cf08e345758 100644
--- a/pkgs/development/libraries/java/swt/default.nix
+++ b/pkgs/development/libraries/java/swt/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, unzip, jdk, pkgconfig, gtk
-, libXtst, libXi, mesa, webkit, libsoup, xorg
+{ stdenv, lib, fetchurl, unzip, jdk, pkgconfig, gtk2
+, libXt, libXtst, libXi, mesa, webkit, libsoup, xorg
 , pango, gdk_pixbuf, glib
 }:
 
@@ -7,38 +7,39 @@ let
   platformMap = {
     "x86_64-linux" =
       { platform = "gtk-linux-x86_64";
-        sha256 = "0hq48zfqx2p0fqr0rlabnz2pdj0874k19918a4dbj0fhzkhrh959"; };
+        sha256 = "1qq0pjll6030v4ml0hifcaaik7sx3fl7ghybfdw95vsvxafwp2ff"; };
     "i686-linux" =
       { platform = "gtk-linux-x86";
-        sha256 = "10si8kmc7c9qmbpzs76609wkfb784pln3qpmra73gb3fbk7z8caf"; };
+        sha256 = "03mhzraikcs4fsz7d3h5af9pw1bbcfd6dglsvbk2ciwimy9zj30q"; };
     "x86_64-darwin" =
       { platform = "cocoa-macosx-x86_64";
-        sha256 = "1565gg63ssrl04fh355vf9mnmq8qwwki3zpc3ybm7bylgkfwc9h4"; };
+        sha256 = "00k1mfbncvyh8klgmk0891w8jwnd5niqb16j1j8yacrm2smmlb05"; };
   };
 
   metadata = assert platformMap ? ${stdenv.system}; platformMap.${stdenv.system};
 
 in stdenv.mkDerivation rec {
-  version = "3.7.2";
-  fullVersion = "${version}-201202080800";
+  version = "4.5";
+  fullVersion = "${version}-201506032000";
   name = "swt-${version}";
 
+  hardeningDisable = [ "format" ];
+
   # Alas, the Eclipse Project apparently doesn't produce source-only
   # releases of SWT.  So we just grab a binary release and extract
   # "src.zip" from that.
   src = fetchurl {
-    url = "http://archive.eclipse.org/eclipse/downloads/drops/R-${fullVersion}/${name}-${metadata.platform}.zip";
+    url = "http://archive.eclipse.org/eclipse/downloads/drops4/R-${fullVersion}/${name}-${metadata.platform}.zip";
     sha256 = metadata.sha256;
   };
 
   sourceRoot = ".";
 
-  buildInputs = [ unzip jdk pkgconfig gtk libXtst libXi mesa webkit libsoup ];
+  nativeBuildInputs = [ unzip pkgconfig ];
+  buildInputs = [ jdk gtk2 libXt libXtst libXi mesa webkit libsoup ];
 
-  NIX_LFLAGS = [ "-lX11" "-I${xorg.libX11}/lib"
-    "-lpango-1.0" "-I${pango}/lib"
-    "-lgdk_pixbuf-2.0" "-I${gdk_pixbuf}/lib"
-    "-lglib-2.0" "-I${glib}/lib"];
+  NIX_LFLAGS = (map (x: "-L${lib.getLib x}/lib") [ xorg.libX11 pango gdk_pixbuf glib ]) ++
+    [ "-lX11" "-lpango-1.0" "-lgdk_pixbuf-2.0" "-lglib-2.0" ];
 
   buildPhase = ''
     unzip src.zip -d src
diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix
index d5e0694e0516..da12b732d00a 100644
--- a/pkgs/development/libraries/json-c/default.nix
+++ b/pkgs/development/libraries/json-c/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./unused-variable.patch ];
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ autoreconfHook ]; # won't configure without it, no idea why
 
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index bf27d52dceb5..0b12e42db868 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -24,7 +24,7 @@ let
       let
       in stdenv.mkDerivation (args // {
 
-        outputs = args.outputs or [ "dev" "out" ];
+        outputs = args.outputs or [ "out" "dev" ];
 
         propagatedUserEnvPkgs =
           builtins.map lib.getBin (args.propagatedBuildInputs or []);
@@ -70,7 +70,7 @@ let
     ecm =
       let drv = { cmake, ecmNoHooks, pkgconfig, qtbase, qttools }:
             makeSetupHook
-            { deps = [ cmake ecmNoHooks pkgconfig qtbase qttools ]; }
+            { deps = lib.chooseDevOutputs [ cmake ecmNoHooks pkgconfig qtbase qttools ]; }
             ./setup-hook.sh;
       in callPackage drv {};
     ecmNoHooks = callPackage ./extra-cmake-modules {
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index ec22dc335d5f..f05da98f5534 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -7,5 +7,5 @@ kdeFramework {
   name = "kimageformats";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   nativeBuildInputs = [ ecm ];
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
 }
diff --git a/pkgs/development/libraries/keybinder/default.nix b/pkgs/development/libraries/keybinder/default.nix
index 0ab24df57bad..2bd1f0a48ac3 100644
--- a/pkgs/development/libraries/keybinder/default.nix
+++ b/pkgs/development/libraries/keybinder/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, autoconf, automake, libtool, pkgconfig, gnome3, pygobject3, pygtk
-, gtk_doc, gtk2, python, pygobject, lua, libX11, libXext, libXrender, gobjectIntrospection
+, gtk_doc, gtk2, python, lua, libX11, libXext, libXrender, gobjectIntrospection
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/keybinder3/default.nix b/pkgs/development/libraries/keybinder3/default.nix
index 581e6e70b711..5c8e1759a2d8 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, pygobject3, pygtk
-, gtk_doc, gtk3, python, pygobject, lua, libX11, libXext, libXrender, gobjectIntrospection
+{ stdenv, fetchFromGitHub, autoconf, automake, libtool, pkgconfig, gnome3, pygtk
+, gtk_doc, gtk3, python, lua, libX11, libXext, libXrender, gobjectIntrospection
 }:
 
 stdenv.mkDerivation rec {
diff --git a/pkgs/development/libraries/lcms/default.nix b/pkgs/development/libraries/lcms/default.nix
index 4a0852f6a064..1decde64e972 100644
--- a/pkgs/development/libraries/lcms/default.nix
+++ b/pkgs/development/libraries/lcms/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "1abkf8iphwyfs3z305z3qczm3z1i9idc1lz4gvfg92jnkz5k5bl0";
   };
 
-  outputs = [ "dev" "out" "bin" "man" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   meta = {
     description = "Color management engine";
diff --git a/pkgs/development/libraries/lcms2/default.nix b/pkgs/development/libraries/lcms2/default.nix
index 7dea029491aa..f4923a4e6bd1 100644
--- a/pkgs/development/libraries/lcms2/default.nix
+++ b/pkgs/development/libraries/lcms2/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0lvaglcjsvnyglgj3cb3pjc22nq8fml1vlx5dmmmw66ywx526925";
   };
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
 
   propagatedBuildInputs = [ libtiff libjpeg zlib ];
 
diff --git a/pkgs/development/libraries/lensfun/default.nix b/pkgs/development/libraries/lensfun/default.nix
index ebb90f796638..b3deabbde2db 100644
--- a/pkgs/development/libraries/lensfun/default.nix
+++ b/pkgs/development/libraries/lensfun/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   configureFlags = "-v";
 
   meta = with stdenv.lib; {
-    platforms = platforms.all;
+    platforms = platforms.linux;
     maintainers = [ maintainers.urkud ];
     license = stdenv.lib.licenses.lgpl3;
     description = "An opensource database of photographic lenses and their characteristics";
diff --git a/pkgs/development/libraries/libao/default.nix b/pkgs/development/libraries/libao/default.nix
index b2404d4ef7f3..f7261e117389 100644
--- a/pkgs/development/libraries/libao/default.nix
+++ b/pkgs/development/libraries/libao/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1bwwv1g9lchaq6qmhvj1pp3hnyqr64ydd4j38x94pmprs4d27b83";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   buildInputs =
     [ pkgconfig ] ++
diff --git a/pkgs/development/libraries/libappindicator/default.nix b/pkgs/development/libraries/libappindicator/default.nix
index 4cf0c52d88b8..af5942fcd54b 100644
--- a/pkgs/development/libraries/libappindicator/default.nix
+++ b/pkgs/development/libraries/libappindicator/default.nix
@@ -5,8 +5,8 @@
 , glib, dbus_glib, gtkVersion
 , gtk2 ? null, libindicator-gtk2 ? null, libdbusmenu-gtk2 ? null
 , gtk3 ? null, libindicator-gtk3 ? null, libdbusmenu-gtk3 ? null
-, python, pygobject, pygtk, gobjectIntrospection, vala_0_23
-, monoSupport ? false, mono ? null, gtk-sharp ? null
+, python, pygobject2, pygtk, gobjectIntrospection, vala_0_23
+, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
@@ -27,9 +27,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus_glib
-    python pygobject pygtk gobjectIntrospection vala_0_23
+    python pygobject2 pygtk gobjectIntrospection vala_0_23
   ] ++ (if gtkVersion == "2"
-    then [ gtk2 libindicator-gtk2 libdbusmenu-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp ]
+    then [ gtk2 libindicator-gtk2 libdbusmenu-gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ gtk3 libindicator-gtk3 libdbusmenu-gtk3 ]);
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libarchive/default.nix b/pkgs/development/libraries/libarchive/default.nix
index 0c5f900dd412..34ad2532d41d 100644
--- a/pkgs/development/libraries/libarchive/default.nix
+++ b/pkgs/development/libraries/libarchive/default.nix
@@ -1,5 +1,12 @@
-{ fetchurl, stdenv, acl, openssl, libxml2, attr, zlib, bzip2, e2fsprogs, xz, lzo
-, sharutils }:
+{
+  fetchurl, stdenv, pkgconfig,
+  acl, attr, bzip2, e2fsprogs, libxml2, lzo, openssl, sharutils, xz, zlib,
+
+  # Optional but increases closure only negligibly.
+  xarSupport ? true,
+}:
+
+assert xarSupport -> libxml2 != null;
 
 stdenv.mkDerivation rec {
   name = "libarchive-${version}";
@@ -10,12 +17,16 @@ stdenv.mkDerivation rec {
     sha256 = "1lngng84k1kkljl74q0cdqc3s82vn2kimfm02dgm4d6m7x71mvkj";
   };
 
-  buildInputs = [ sharutils libxml2 zlib bzip2 openssl xz lzo ] ++
-    stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ];
+  nativeBuildInputs = [ pkgconfig ];
+  buildInputs = [ sharutils zlib bzip2 openssl xz lzo ]
+    ++ stdenv.lib.optionals stdenv.isLinux [ e2fsprogs attr acl ]
+    ++ stdenv.lib.optional xarSupport libxml2;
 
   # Without this, pkgconfig-based dependencies are unhappy
   propagatedBuildInputs = stdenv.lib.optionals stdenv.isLinux [ attr acl ];
 
+  configureFlags = stdenv.lib.optional (!xarSupport) "--without-xml2";
+
   preBuild = if stdenv.isCygwin then ''
     echo "#include <windows.h>" >> config.h
   '' else null;
diff --git a/pkgs/development/libraries/libassuan/default.nix b/pkgs/development/libraries/libassuan/default.nix
index 43cfd316b5ca..bad2a060cdca 100644
--- a/pkgs/development/libraries/libassuan/default.nix
+++ b/pkgs/development/libraries/libassuan/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0w9bmasln4z8mn16s1is55a06w3nv8jbyal496z5jvr5vcxkm112";
   };
 
-  outputs = [ "dev" "out" "info" ];
+  outputs = [ "out" "dev" "info" ];
   outputBin = "dev"; # libassuan-config
 
   buildInputs = [ libgpgerror pth ];
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index e3aec98a8dbe..60535edfea63 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -27,7 +27,7 @@ with { inherit (stdenv.lib) optional optionals hasPrefix; };
 let
   result = {
     libav_0_8 = libavFun "0.8.17" "31ace2daeb8c105deed9cd3476df47318d417714";
-    libav_11  = libavFun  "11.7"  "9f36d136ea353fc6e3826180fe126f52eca7fec4";
+    libav_11  = libavFun  "11.8"  "y18hmrzy7jqq7h9ys54nrr4s49mkzsfh";
   };
 
   libavFun = version : sha1 : stdenv.mkDerivation rec {
@@ -85,7 +85,7 @@ let
 
     enableParallelBuilding = true;
 
-    outputs = [ "dev" "out" "bin" ];
+    outputs = [ "bin" "dev" "out" ];
     setOutputFlags = false;
 
     # alltools to build smaller tools, incl. aviocat, ismindex, qt-faststart, etc.
diff --git a/pkgs/development/libraries/libb2/default.nix b/pkgs/development/libraries/libb2/default.nix
index f4d01def94a2..eae08f0071cb 100644
--- a/pkgs/development/libraries/libb2/default.nix
+++ b/pkgs/development/libraries/libb2/default.nix
@@ -3,6 +3,13 @@ with stdenv; with lib;
 mkDerivation rec {
   name = "libb2-${meta.version}";
 
+  src = fetchurl {
+    url = "https://blake2.net/${name}.tar.gz";
+    sha256 = "7829c7309347650239c76af7f15d9391af2587b38f0a65c250104a2efef99051";
+  };
+
+  configureFlags = [ "--enable-fat=yes" ];
+
   meta = {
     version = "0.97";
     description = "The BLAKE2 family of cryptographic hash functions";
@@ -10,9 +17,4 @@ mkDerivation rec {
     maintainers = with maintainers; [ dfoxfranke ];
     license = licenses.cc0;
   };
-
-  src = fetchurl {
-    url = "https://blake2.net/${name}.tar.gz";
-    sha256 = "7829c7309347650239c76af7f15d9391af2587b38f0a65c250104a2efef99051";
-  };
 }
diff --git a/pkgs/development/libraries/libb64/default.nix b/pkgs/development/libraries/libb64/default.nix
index c02e345346d0..09c5444a6446 100644
--- a/pkgs/development/libraries/libb64/default.nix
+++ b/pkgs/development/libraries/libb64/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.draios.com/dependencies/libb64-1.2.src.zip";
-    md5 = "a609809408327117e2c643bed91b76c5";
+    sha256 = "1lxzi6v10qsl2r6633dx0zwqyvy0j19nmwclfd0d7qybqmhqsg9l";
   };
 
   buildInputs = [ unzip ];
diff --git a/pkgs/development/libraries/libcaca/default.nix b/pkgs/development/libraries/libcaca/default.nix
index ad93ebd3a464..ee76b79ced8c 100644
--- a/pkgs/development/libraries/libcaca/default.nix
+++ b/pkgs/development/libraries/libcaca/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj";
   };
 
-  outputs = [ "dev" "bin" "out" "man" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   configureFlags = "--disable-x11 --disable-imlib2 --disable-doc";
 
diff --git a/pkgs/development/libraries/libcdaudio/default.nix b/pkgs/development/libraries/libcdaudio/default.nix
index aca2d056f8f9..5ae17fe78f05 100644
--- a/pkgs/development/libraries/libcdaudio/default.nix
+++ b/pkgs/development/libraries/libcdaudio/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "libcdaudio-0.99.12";
   src = fetchurl {
     url = mirror://sourceforge/libcdaudio/libcdaudio-0.99.12.tar.gz ;
-    md5 = "63b49cf14d53eed31e7a87cca17a3963" ;
+    sha256 = "1g3ba1n12g8h7pps0vlxx8di6cmf108mbcvbl6hj8x71ndkglygb" ;
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libchop/default.nix b/pkgs/development/libraries/libchop/default.nix
index e57d1f29606a..7ff992ccc554 100644
--- a/pkgs/development/libraries/libchop/default.nix
+++ b/pkgs/development/libraries/libchop/default.nix
@@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  preConfigure = ''
+    sed -re 's%@GUILE@%&/guile%' -i */Makefile.* Makefile.*
+  '';
+
   meta = {
     description = "Tools & library for data backup and distributed storage";
 
diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix
index 77199bf27a3e..8e911a9b015f 100644
--- a/pkgs/development/libraries/libcommuni/default.nix
+++ b/pkgs/development/libraries/libcommuni/default.nix
@@ -1,20 +1,21 @@
-{ fetchgit, qtbase, qmakeHook, which, stdenv
+{ stdenv, fetchFromGitHub, qtbase, qtdeclarative, qmakeHook, which
 }:
 
 stdenv.mkDerivation rec {
   name = "libcommuni-${version}";
-  version = "2016-03-23";
+  version = "2016-08-17";
 
-  src = fetchgit {
-    url = "https://github.com/communi/libcommuni.git";
-    rev = "6a5110b25e2838e7dc2c62d16b9fd06d12beee7e";
-    sha256 = "184ah5xqg5pgy8h6fyyz2k0vak1fmhrcidwz828yl4lsvz1vjqh1";
+  src = fetchFromGitHub {
+    owner = "communi";
+    repo = "libcommuni";
+    rev = "dedba6faf57c31c8c70fd563ba12d75a9caee8a3";
+    sha256 = "0wvs53z34vfs5xlln4a6sbd4981svag89xm0f4k20mb1i052b20i";
   };
 
-  buildInputs = [ qtbase ];
+  buildInputs = [ qtbase qtdeclarative ];
   nativeBuildInputs = [ qmakeHook which ];
 
-  enableParallelBuild = true;
+  enableParallelBuilding = true;
 
   dontUseQmakeConfigure = true;
   configureFlags = "-config release";
diff --git a/pkgs/development/libraries/libdiscid/default.nix b/pkgs/development/libraries/libdiscid/default.nix
index 09427e2788ac..d0122d0283c5 100644
--- a/pkgs/development/libraries/libdiscid/default.nix
+++ b/pkgs/development/libraries/libdiscid/default.nix
@@ -16,6 +16,6 @@ stdenv.mkDerivation rec {
     homepage = http://musicbrainz.org/doc/libdiscid;
     maintainers = with maintainers; [ ehmry ];
     license = licenses.lgpl21;
-    platforms = platforms.all;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index 8911539d7b02..dbda4107c485 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -12,8 +12,6 @@ stdenv.mkDerivation {
 
   buildInputs = [ automake autoconf libtool ];
 
-  CFLAGS="-fPIC";
-
   # .so endings are missing (quick and dirty fix)
   postInstall = ''
     for i in $out/lib/*; do
diff --git a/pkgs/development/libraries/libdrm/default.nix b/pkgs/development/libraries/libdrm/default.nix
index d2bb05a3bb64..64cfb7d56cac 100644
--- a/pkgs/development/libraries/libdrm/default.nix
+++ b/pkgs/development/libraries/libdrm/default.nix
@@ -1,18 +1,19 @@
 { stdenv, fetchurl, pkgconfig, libpthreadstubs, libpciaccess, udev, valgrind }:
 
 stdenv.mkDerivation rec {
-  name = "libdrm-2.4.68";
+  name = "libdrm-2.4.70";
 
   src = fetchurl {
     url = "http://dri.freedesktop.org/libdrm/${name}.tar.bz2";
-    sha256 = "5b4bd9a5922929bc716411cb74061fbf31b06ba36feb89bc1358a91a8d0ca9df";
+    sha256 = "b17d4b39ed97ca0e4cffa0db06ff609e617bac94646ec38e8e0579d530540e7b";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libpthreadstubs libpciaccess ]
-    ++ stdenv.lib.optional stdenv.isLinux udev;
+  buildInputs = [ libpthreadstubs libpciaccess ];
+    # libdrm as of 2.4.70 does not actually do anything with udev.
+    #++ stdenv.lib.optional stdenv.isLinux udev;
 
   patches = stdenv.lib.optional stdenv.isDarwin ./libdrm-apple.patch;
 
diff --git a/pkgs/development/libraries/libdwg/default.nix b/pkgs/development/libraries/libdwg/default.nix
index f44d228f6501..2a2dfbb0be53 100644
--- a/pkgs/development/libraries/libdwg/default.nix
+++ b/pkgs/development/libraries/libdwg/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ indent ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "Library reading dwg files";
     homepage = http://libdwg.sourceforge.net/en/;
diff --git a/pkgs/development/libraries/libdynd/default.nix b/pkgs/development/libraries/libdynd/default.nix
index 119c92d690de..8deec094866c 100644
--- a/pkgs/development/libraries/libdynd/default.nix
+++ b/pkgs/development/libraries/libdynd/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ cmake ];
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputDoc = "dev";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libedit/default.nix b/pkgs/development/libraries/libedit/default.nix
index 7868c2cfd140..c61876713c10 100644
--- a/pkgs/development/libraries/libedit/default.nix
+++ b/pkgs/development/libraries/libedit/default.nix
@@ -1,17 +1,19 @@
 { stdenv, fetchurl, ncurses, groff }:
 
 stdenv.mkDerivation rec {
-  name = "libedit-20150325-3.1";
+  name = "libedit-20160903-3.1";
 
   src = fetchurl {
-    url = "http://www.thrysoee.dk/editline/${name}.tar.gz";
-    sha256 = "1if8zi9h52m80ck796an28rrqfljk2n8cn25m3fl0prwz155x2n8";
+    url = "http://thrysoee.dk/editline/${name}.tar.gz";
+    sha256 = "0rvmm8z6hal5bbp5pljp7yvkpqi4pkas1amizhvg35v0skkx5jqc";
   };
 
+  outputs = [ "out" "dev" ];
+
   # Have `configure' avoid `/usr/bin/nroff' in non-chroot builds.
   NROFF = "${groff}/bin/nroff";
 
-  patches = [ ./01-cygwin.patch ./freebsd-wchar.patch ];
+  patches = [ ./01-cygwin.patch ];
 
   propagatedBuildInputs = [ ncurses ];
 
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = "http://www.thrysoee.dk/editline/";
+    homepage = http://www.thrysoee.dk/editline/;
     description = "A port of the NetBSD Editline library (libedit)";
     license = licenses.bsd3;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libedit/freebsd-wchar.patch b/pkgs/development/libraries/libedit/freebsd-wchar.patch
deleted file mode 100644
index 6bf7fb0ef69a..000000000000
--- a/pkgs/development/libraries/libedit/freebsd-wchar.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/chartype.h b/src/chartype.h
-index 0beee17..4ac86f3 100644
---- a/src/chartype.h
-+++ b/src/chartype.h
-@@ -44,7 +44,7 @@
-  * supports non-BMP code points without requiring UTF-16, but nothing
-  * seems to actually advertise this properly, despite Unicode 3.1 having
-  * been around since 2001... */
--#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__OpenBSD__)
-+#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__OpenBSD__)
- #ifndef __STDC_ISO_10646__
- /* In many places it is assumed that the first 127 code points are ASCII
-  * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/pkgs/development/libraries/libedit/freebsd.patch b/pkgs/development/libraries/libedit/freebsd.patch
deleted file mode 100644
index e230a76d709f..000000000000
--- a/pkgs/development/libraries/libedit/freebsd.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/chartype.h b/src/chartype.h
-index c35825c..be5aac0 100644
---- a/src/chartype.h
-+++ b/src/chartype.h
-@@ -44,7 +44,7 @@
-  * supports non-BMP code points without requiring UTF-16, but nothing
-  * seems to actually advertise this properly, despite Unicode 3.1 having
-  * been around since 2001... */
--#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__))
-+#if !defined(__NetBSD__) && !defined(__sun) && !(defined(__APPLE__) && defined(__MACH__)) && !defined(__DragonFly__) && !defined(__FreeBSD__)
- #ifndef __STDC_ISO_10646__
- /* In many places it is assumed that the first 127 code points are ASCII
-  * compatible, so ensure wchar_t indeed does ISO 10646 and not some other
diff --git a/pkgs/development/libraries/libelf/default.nix b/pkgs/development/libraries/libelf/default.nix
index 12588617d4a1..5027afa397ac 100644
--- a/pkgs/development/libraries/libelf/default.nix
+++ b/pkgs/development/libraries/libelf/default.nix
@@ -10,6 +10,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   # For cross-compiling, native glibc is needed for the "gencat" program.
   crossAttrs = {
     nativeBuildInputs = [ gettext glibc ];
diff --git a/pkgs/development/libraries/libevent/default.nix b/pkgs/development/libraries/libevent/default.nix
index b0b537ddb175..f273a511aafc 100644
--- a/pkgs/development/libraries/libevent/default.nix
+++ b/pkgs/development/libraries/libevent/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
   };
   postPatch = "patchShebangs event_rpcgen.py";
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/libf2c/default.nix b/pkgs/development/libraries/libf2c/default.nix
index 97168c3ae6c4..78901e2f013e 100644
--- a/pkgs/development/libraries/libf2c/default.nix
+++ b/pkgs/development/libraries/libf2c/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   name = "libf2c-20100903";
-  
+
   src = fetchurl {
     url = http://www.netlib.org/f2c/libf2c.zip;
     sha256 = "1mcp1lh7gay7hm186dr0wvwd2bc05xydhnc1qy3dqs4n3r102g7i";
@@ -24,6 +24,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ unzip ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "F2c converts Fortran 77 source code to C";
     homepage = http://www.netlib.org/f2c/;
diff --git a/pkgs/development/libraries/libffi/default.nix b/pkgs/development/libraries/libffi/default.nix
index 962f716c120a..b203f6346476 100644
--- a/pkgs/development/libraries/libffi/default.nix
+++ b/pkgs/development/libraries/libffi/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = stdenv.lib.optional stdenv.isCygwin ./3.2.1-cygwin.patch;
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   buildInputs = stdenv.lib.optional doCheck dejagnu;
 
diff --git a/pkgs/development/libraries/libfm/default.nix b/pkgs/development/libraries/libfm/default.nix
index f4f3c7747899..32eb4e04f03c 100644
--- a/pkgs/development/libraries/libfm/default.nix
+++ b/pkgs/development/libraries/libfm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, glib, gtk, intltool, menu-cache, pango, pkgconfig, vala_0_23
+{ stdenv, fetchurl, glib, gtk2, intltool, menu-cache, pango, pkgconfig, vala_0_23
 , extraOnly ? false }:
 let
     inherit (stdenv.lib) optional;
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0bsh4p7h2glhxf1cc1lvbxyb4qy0y1zsnl9izf7vrldkikrgc13q";
   };
 
-  buildInputs = [ glib gtk intltool pango pkgconfig vala_0_23 ]
+  buildInputs = [ glib gtk2 intltool pango pkgconfig vala_0_23 ]
                 ++ optional (!extraOnly) menu-cache;
 
   configureFlags = optional extraOnly "--with-extra-only";
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 237a7ff0094f..8b7f48967e03 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0wbh6fq5zi9wg2xcfvfpwh7dv52jihivx1vm4h91c2kx0w8n3b6x";
   };
 
-  outputs = [ "dev" "out" "info" ];
+  outputs = [ "out" "dev" "info" ];
   outputBin = "dev";
 
   buildInputs =
diff --git a/pkgs/development/libraries/libgeotiff/default.nix b/pkgs/development/libraries/libgeotiff/default.nix
index d07aae3ab807..01dd6b0d49eb 100644
--- a/pkgs/development/libraries/libgeotiff/default.nix
+++ b/pkgs/development/libraries/libgeotiff/default.nix
@@ -4,12 +4,14 @@ stdenv.mkDerivation {
   name = "libgeotiff-1.2.5";
 
   src = fetchurl {
-    url = ftp://ftp.remotesensing.org/pub/geotiff/libgeotiff/libgeotiff-1.2.5.tar.gz;
+    url = http://download.osgeo.org/geotiff/libgeotiff/libgeotiff-1.2.5.tar.gz;
     sha256 = "0z2yx77pm0zs81hc0b4lwzdd5s0rxcbylnscgq80b649src1fyzj";
   };
 
   buildInputs = [ libtiff ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "Library implementing attempt to create a tiff based interchange format for georeferenced raster imagery";
     homepage = http://www.remotesensing.org/geotiff/geotiff.html;
diff --git a/pkgs/development/libraries/libgksu/default.nix b/pkgs/development/libraries/libgksu/default.nix
index 90d1b21cd3f0..0de84b1141dc 100644
--- a/pkgs/development/libraries/libgksu/default.nix
+++ b/pkgs/development/libraries/libgksu/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk, gnome, gnome3,
+{ stdenv, fetchurl, pkgconfig, wrapGAppsHook, gtk2, gnome2, gnome3,
   libstartup_notification, libgtop, perl, perlXMLParser,
   autoreconfHook, intltool, gtk_doc, docbook_xsl, xauth, sudo
 }:
@@ -18,12 +18,14 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    gtk gnome.GConf libstartup_notification
-    gnome3.libgnome_keyring libgtop gnome.libglade perl perlXMLParser
+    gtk2 gnome2.GConf libstartup_notification
+    gnome3.libgnome_keyring libgtop gnome2.libglade perl perlXMLParser
   ];
 
   enableParallelBuilding = true;
 
+  hardeningDisable = [ "format" ];
+
   patches = [
         # Patches from the gentoo ebuild
 
diff --git a/pkgs/development/libraries/libgnome-keyring/default.nix b/pkgs/development/libraries/libgnome-keyring/default.nix
index 95de49186685..b2a0021d53b5 100644
--- a/pkgs/development/libraries/libgnome-keyring/default.nix
+++ b/pkgs/development/libraries/libgnome-keyring/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
     sha256 = "030gka96kzqg1r19b4xrmac89hf1xj1kr5p461yvbzfxh46qqf2n";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ glib dbus_libs libgcrypt ];
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/development/libraries/libgpg-error/default.nix b/pkgs/development/libraries/libgpg-error/default.nix
index 1238fc760883..d81a59a5c621 100644
--- a/pkgs/development/libraries/libgpg-error/default.nix
+++ b/pkgs/development/libraries/libgpg-error/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   postPatch = "sed '/BUILD_TIMESTAMP=/s/=.*/=1970-01-01T00:01+0000/' -i ./configure";
 
-  outputs = [ "dev" "out" "info" ];
+  outputs = [ "out" "dev" "info" ];
   outputBin = "dev"; # deps want just the lib, most likely
 
   # If architecture-dependent MO files aren't available, they're generated
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index af8c1a8f1a21..a6c739017ee9 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
   # These are mentioned in the Requires line of libgphoto's pkg-config file.
   propagatedBuildInputs = [ libexif ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     homepage = http://www.gphoto.org/proj/libgphoto2/;
     description = "A library for accessing digital cameras";
diff --git a/pkgs/development/libraries/libgpod/default.nix b/pkgs/development/libraries/libgpod/default.nix
index b4b951325a40..706e6a714c1a 100644
--- a/pkgs/development/libraries/libgpod/default.nix
+++ b/pkgs/development/libraries/libgpod/default.nix
@@ -1,7 +1,7 @@
 {stdenv, lib, fetchurl, gettext, perl, perlXMLParser, intltool, pkgconfig, glib,
   libxml2, sqlite, libusb1, zlib, sg3_utils, gdk_pixbuf, taglib,
-  libimobiledevice, python, pygobject, mutagen,
-  monoSupport ? true, mono, gtk-sharp
+  libimobiledevice, python, pygobject2, mutagen,
+  monoSupport ? true, mono, gtk-sharp-2_0
 }:
 
 stdenv.mkDerivation rec {
@@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
   dontStrip = true;
 
   propagatedBuildInputs = [ glib libxml2 sqlite zlib sg3_utils
-    gdk_pixbuf taglib libimobiledevice python pygobject mutagen ];
+    gdk_pixbuf taglib libimobiledevice python pygobject2 mutagen ];
 
   nativeBuildInputs = [ gettext perlXMLParser intltool pkgconfig perl
-    libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp ];
+    libimobiledevice.swig ] ++ lib.optionals monoSupport [ mono gtk-sharp-2_0 ];
 
   meta = {
     homepage = http://gtkpod.sourceforge.net/;
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index d1abf155ae3a..3de9cf1e0dbc 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -8,10 +8,12 @@ stdenv.mkDerivation rec {
     sha256 = "068fjg2arlppjqqpzd714n1lf6gxkpac9v5yyvp1qwmv6nvam9s4";
   };
 
-  outputs = [ "dev" "out" "bin" "info" "docdev" ];
+  outputs = [ "bin" "dev" "out" "info" "devdoc" ];
 
   doCheck = ! stdenv.isDarwin;
 
+  hardeningDisable = [ "format" ];
+
   buildInputs = stdenv.lib.optional stdenv.isDarwin libiconv;
 
   meta = {
diff --git a/pkgs/development/libraries/libindicate/default.nix b/pkgs/development/libraries/libindicate/default.nix
index 514aea12c7e4..9fb22eee6b24 100644
--- a/pkgs/development/libraries/libindicate/default.nix
+++ b/pkgs/development/libraries/libindicate/default.nix
@@ -4,8 +4,8 @@
 , pkgconfig, autoconf
 , glib, dbus_glib, libdbusmenu-glib
 , gtkVersion, gtk2 ? null, gtk3 ? null
-, python, pygobject, pygtk, gobjectIntrospection, vala_0_23, gnome_doc_utils
-, monoSupport ? false, mono ? null, gtk-sharp ? null
+, python, pygobject2, pygtk, gobjectIntrospection, vala_0_23, gnome_doc_utils
+, monoSupport ? false, mono ? null, gtk-sharp-2_0 ? null
  }:
 
 with lib;
@@ -26,9 +26,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     glib dbus_glib libdbusmenu-glib
-    python pygobject pygtk gobjectIntrospection vala_0_23 gnome_doc_utils
+    python pygobject2 pygtk gobjectIntrospection vala_0_23 gnome_doc_utils
   ] ++ (if gtkVersion == "2"
-    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp ]
+    then [ gtk2 ] ++ optionals monoSupport [ mono gtk-sharp-2_0 ]
     else [ gtk3 ]);
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libinfinity/default.nix b/pkgs/development/libraries/libinfinity/default.nix
index 3e88ed99b85b..d13a9050dc9d 100644
--- a/pkgs/development/libraries/libinfinity/default.nix
+++ b/pkgs/development/libraries/libinfinity/default.nix
@@ -3,7 +3,7 @@
 , documentation ? false # build documentation
 , avahiSupport ? false # build support for Avahi in libinfinity
 , stdenv, fetchurl, pkgconfig, glib, libxml2, gnutls, gsasl
-, gtk ? null, gtkdoc ? null, avahi ? null, libdaemon ? null, libidn, gss }:
+, gtk2 ? null, gtkdoc ? null, avahi ? null, libdaemon ? null, libidn, gss }:
 
 let
   edf = flag: feature: (if flag then "--with-" else "--without-") + feature;
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
   };
 
   buildInputs = [ pkgconfig glib libxml2 gsasl libidn gss ]
-    ++ optional gtkWidgets gtk
+    ++ optional gtkWidgets gtk2
     ++ optional documentation gtkdoc
     ++ optional avahiSupport avahi
     ++ optional daemon libdaemon;
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 0efee5b94f7f..afc8a44397d8 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     sha256 = "1kmiv1mcrxniigdcs65w23897mczsx0hasxc6p13hjk58zzfvj1h";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   configureFlags = [
     (mkFlag documentationSupport "documentation")
diff --git a/pkgs/development/libraries/libiodbc/default.nix b/pkgs/development/libraries/libiodbc/default.nix
index 0cf07d0769ad..6f833ec81a92 100644
--- a/pkgs/development/libraries/libiodbc/default.nix
+++ b/pkgs/development/libraries/libiodbc/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, useGTK ? false }:
+{ stdenv, fetchurl, pkgconfig, gtk2, useGTK ? false }:
 
 stdenv.mkDerivation rec {
   name = "libiodbc-3.52.8";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "16hjb6fcval85gnkgkxfhw4c5h3pgf86awyh8p2bhnnvzc0ma5hq";
   };
 
-  buildInputs = stdenv.lib.optionals useGTK [ gtk pkgconfig ];
+  buildInputs = stdenv.lib.optionals useGTK [ gtk2 pkgconfig ];
 
   preBuild =
     ''
diff --git a/pkgs/development/libraries/libjpeg-drop/default.nix b/pkgs/development/libraries/libjpeg-drop/default.nix
index ed1b5f5bdb0e..0f2c9dce28a2 100644
--- a/pkgs/development/libraries/libjpeg-drop/default.nix
+++ b/pkgs/development/libraries/libjpeg-drop/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   configureFlags = []
     ++ optional static [ "--enable-static" "--disable-shared" ];
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   meta = {
     homepage = http://jpegclub.org/jpegtran/;
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 7d8de0b40af2..0bbdcae3af10 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     stdenv.lib.optional (stdenv.cross.libc or null == "msvcrt")
       ./mingw-boolean.patch;
 
-  outputs = [ "dev" "out" "doc" "bin" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   nativeBuildInputs = [ nasm ];
 
diff --git a/pkgs/development/libraries/libjpeg/62.nix b/pkgs/development/libraries/libjpeg/62.nix
index 40e2ae62de7f..3ae8cfac39c0 100644
--- a/pkgs/development/libraries/libjpeg/62.nix
+++ b/pkgs/development/libraries/libjpeg/62.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation {
   
   src = fetchurl {
     url = http://www.ijg.org/files/jpegsrc.v6b.tar.gz;
-    md5 = "dbd5f3b47ed13132f04c685d608a7547";
+    sha256 = "0pg34z6rbkk5kvdz6wirf7g4mdqn5z8x97iaw17m15lr3qjfrhvm";
   };
   
   inherit libtool;
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 1529daa77bf0..8b0a4ec98eda 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   configureFlags = optional static "--enable-static --disable-shared";
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   meta = {
     homepage = http://www.ijg.org/;
diff --git a/pkgs/development/libraries/libjson-rpc-cpp/default.nix b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
index 2cfede1eb6e3..ca60f1570bc4 100644
--- a/pkgs/development/libraries/libjson-rpc-cpp/default.nix
+++ b/pkgs/development/libraries/libjson-rpc-cpp/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
     rev = "c6e3d7195060774bf95afc6df9c9588922076d3e";
   };
 
+  hardeningDisable = [ "format" ];
+
   patchPhase = ''
     for f in cmake/FindArgtable.cmake \
              src/stubgenerator/stubgenerator.cpp \
diff --git a/pkgs/development/libraries/libmaxminddb/default.nix b/pkgs/development/libraries/libmaxminddb/default.nix
new file mode 100644
index 000000000000..827f18d2ffc9
--- /dev/null
+++ b/pkgs/development/libraries/libmaxminddb/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "libmaxminddb-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url = meta.homepage + "/releases/download/${version}/${name}.tar.gz";
+    sha256 = "0dxdyw6sxxmpzk2a96qp323r5kdmw7vm6m0l5a8gr52gf7nmks0z";
+  };
+
+  meta = with stdenv.lib; {
+    description = "C library for working with MaxMind geolocation DB files";
+    homepage = "https://github.com/maxmind/libmaxminddb";
+    license = licenses.apsl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.vcunat ];
+  };
+}
diff --git a/pkgs/development/libraries/libmbim/default.nix b/pkgs/development/libraries/libmbim/default.nix
index 8baf4a77c362..aa5d858d82cf 100644
--- a/pkgs/development/libraries/libmbim/default.nix
+++ b/pkgs/development/libraries/libmbim/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0abv0h9c3kbw4bq1b9270sg189jcjj3x3wa91bj836ynwg9m34wl";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   preConfigure = ''
     patchShebangs .
diff --git a/pkgs/development/libraries/libmicrohttpd/default.nix b/pkgs/development/libraries/libmicrohttpd/default.nix
index af1be85f592b..b53c8da3f544 100644
--- a/pkgs/development/libraries/libmicrohttpd/default.nix
+++ b/pkgs/development/libraries/libmicrohttpd/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1mzbqr6sqisppz88mh73bbh5sw57g8l87qvhcjdx5pmbd183idni";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" "info" ];
   buildInputs = [ libgcrypt curl gnutls pkgconfig ];
 
   preCheck = ''
diff --git a/pkgs/development/libraries/libmng/default.nix b/pkgs/development/libraries/libmng/default.nix
index 931db8bdf422..103595bc035d 100644
--- a/pkgs/development/libraries/libmng/default.nix
+++ b/pkgs/development/libraries/libmng/default.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0l5wa3b9rr4zl49zbbjpapqyccqjwzkzw1ph3p4pk9p5h73h9317";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
-  outputMan= "docdev";
+  outputs = [ "out" "dev" "devdoc" ];
+  outputMan= "devdoc";
 
   propagatedBuildInputs = [ zlib libpng libjpeg lcms2 ];
 
diff --git a/pkgs/development/libraries/libmnl/default.nix b/pkgs/development/libraries/libmnl/default.nix
index caabde85f29b..02e86cc688b8 100644
--- a/pkgs/development/libraries/libmnl/default.nix
+++ b/pkgs/development/libraries/libmnl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libmnl-1.0.3";
+  name = "libmnl-1.0.4";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/libmnl/files/${name}.tar.bz2";
-    sha1 = "c27e25f67c6422ebf893fc3a844af8085a1c5b63";
+    sha256 = "108zampspaalv44zn0ar9h386dlfixpd149bnxa5hsi8kxlqj7qp";
   };
 
   meta = {
diff --git a/pkgs/development/libraries/libmp3splt/default.nix b/pkgs/development/libraries/libmp3splt/default.nix
index 08882291d1f7..54cef0c4f5c3 100644
--- a/pkgs/development/libraries/libmp3splt/default.nix
+++ b/pkgs/development/libraries/libmp3splt/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1p1mn2hsmj5cp40fnc8g1yfvk72p8pjxi866gjdkgjsqrr7xdvih";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   nativeBuildInputs = [ libtool ];
   buildInputs = [ libmad libid3tag ];
 
diff --git a/pkgs/development/libraries/libmpc/default.nix b/pkgs/development/libraries/libmpc/default.nix
index 2a4600f52045..0d3c9c0997c1 100644
--- a/pkgs/development/libraries/libmpc/default.nix
+++ b/pkgs/development/libraries/libmpc/default.nix
@@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   meta = {
     description = "Library for multiprecision complex arithmetic with exact rounding";
 
diff --git a/pkgs/development/libraries/libmtp/default.nix b/pkgs/development/libraries/libmtp/default.nix
index bdf1da498493..e1902263ac20 100644
--- a/pkgs/development/libraries/libmtp/default.nix
+++ b/pkgs/development/libraries/libmtp/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1sc768q2cixwanlwrz95mp389iaadl4s95486caavxx4g7znvn8m";
   };
 
-  outputs = [ "dev" "bin" "out" ];
+  outputs = [ "bin" "dev" "out" ];
 
   propagatedBuildInputs = [ libusb1 ];
   buildInputs = [ pkgconfig ];
@@ -24,7 +24,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.all;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/development/libraries/libmusicbrainz/2.x.nix b/pkgs/development/libraries/libmusicbrainz/2.x.nix
index bff49dcf76f2..4cad0c0f9f64 100644
--- a/pkgs/development/libraries/libmusicbrainz/2.x.nix
+++ b/pkgs/development/libraries/libmusicbrainz/2.x.nix
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
       Library) is a development library geared towards developers who wish to
       add MusicBrainz lookup capabilities to their applications.'';
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libnftnl/default.nix b/pkgs/development/libraries/libnftnl/default.nix
index 53dfd21f23d8..a043d36ff4d0 100644
--- a/pkgs/development/libraries/libnftnl/default.nix
+++ b/pkgs/development/libraries/libnftnl/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, libmnl }:
 
 stdenv.mkDerivation rec {
-  name = "libnftnl-1.0.5";
+  name = "libnftnl-1.0.6";
 
   src = fetchurl {
     url = "http://netfilter.org/projects/libnftnl/files/${name}.tar.bz2";
-    sha256 = "15z4kcsklbvy94d24p2r0avyhc2rsvygjqr3gyccg2z30akzbm7n";
+    sha256 = "0zmh190c7212zvzjsn5lm6pf399r4arq7dliiqq6grd174m96fxd";
   };
 
   buildInputs = [ pkgconfig libmnl ];
diff --git a/pkgs/development/libraries/libofx/default.nix b/pkgs/development/libraries/libofx/default.nix
index c17045d5e4be..396e8e92acfd 100644
--- a/pkgs/development/libraries/libofx/default.nix
+++ b/pkgs/development/libraries/libofx/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     description = "Opensource implementation of the Open Financial eXchange specification";
     homepage = http://libofx.sourceforge.net/;
     license = "LGPL";
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.urkud ];
   };
 }
diff --git a/pkgs/development/libraries/libogg/default.nix b/pkgs/development/libraries/libogg/default.nix
index 1aa4b8ad0453..15f58135040d 100644
--- a/pkgs/development/libraries/libogg/default.nix
+++ b/pkgs/development/libraries/libogg/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   meta = with stdenv.lib; {
     homepage = http://xiph.org/ogg/;
diff --git a/pkgs/development/libraries/liboil/default.nix b/pkgs/development/libraries/liboil/default.nix
index 754e308ac15b..a8d2953cad00 100644
--- a/pkgs/development/libraries/liboil/default.nix
+++ b/pkgs/development/libraries/liboil/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./x86_64-cpuid.patch ];
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev"; # oil-bugreport
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libopus/default.nix b/pkgs/development/libraries/libopus/default.nix
index 20101fe6fe31..82bf9a486791 100644
--- a/pkgs/development/libraries/libopus/default.nix
+++ b/pkgs/development/libraries/libopus/default.nix
@@ -1,17 +1,17 @@
 { stdenv, fetchurl, fixedPoint ? false, withCustomModes ? true }:
 
 let
-  version = "1.1.2";
+  version = "1.1.3";
 in
 stdenv.mkDerivation rec {
   name = "libopus-${version}";
 
   src = fetchurl {
     url = "http://downloads.xiph.org/releases/opus/opus-${version}.tar.gz";
-    sha256 = "1z87x5c5x951lhnm70iqr2gqn15wns5cqsw8nnkvl48jwdw00a8f";
+    sha256 = "0cxnd7pjxbgh6l3cbzsw29phpr5cq28fikfhjlp1hc3y5s0gxdjq";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   configureFlags = stdenv.lib.optional fixedPoint "--enable-fixed-point"
                 ++ stdenv.lib.optional withCustomModes "--enable-custom-modes";
diff --git a/pkgs/development/libraries/libpng/12.nix b/pkgs/development/libraries/libpng/12.nix
index e181d680eff9..8e17c44fa636 100644
--- a/pkgs/development/libraries/libpng/12.nix
+++ b/pkgs/development/libraries/libpng/12.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1ghd03p353x0vi4dk83n1nlldg11w7vqdk3f99rkgfb82ic59ki4";
   };
 
-  outputs = [ "dev" "out" "man" ];
+  outputs = [ "out" "dev" "man" ];
 
   propagatedBuildInputs = [ zlib ];
 
diff --git a/pkgs/development/libraries/libpng/default.nix b/pkgs/development/libraries/libpng/default.nix
index 9c4a1b13e018..ea6e1e50035d 100644
--- a/pkgs/development/libraries/libpng/default.nix
+++ b/pkgs/development/libraries/libpng/default.nix
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
   };
   postPatch = whenPatched "gunzip < ${patch_src} | patch -Np1";
 
-  outputs = [ "dev" "out" "man" ];
+  outputs = [ "out" "dev" "man" ];
   outputBin = "dev";
 
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/libproxy/default.nix b/pkgs/development/libraries/libproxy/default.nix
index 76452af0c475..4c9733c6a5e5 100644
--- a/pkgs/development/libraries/libproxy/default.nix
+++ b/pkgs/development/libraries/libproxy/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     sha256 = "0jw6454gxjykmbnbh544axi8hzz9gmm4jz1y5gw1hdqnakg36gyw";
   };
 
-  outputs = [ "dev" "out" ]; # to deal with propagatedBuildInputs
+  outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
 
   nativeBuildInputs = [ pkgconfig cmake ];
   propagatedBuildInputs = [ zlib ]
diff --git a/pkgs/development/libraries/libqmi/default.nix b/pkgs/development/libraries/libqmi/default.nix
index 82768cd350dd..cfce5e0fd713 100644
--- a/pkgs/development/libraries/libqmi/default.nix
+++ b/pkgs/development/libraries/libqmi/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "101ppan2q1h4pyp2zbn9b8sdwy2c7fk9rp91yykxz3afrvzbymq8";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   preBuild = ''
     patchShebangs .
diff --git a/pkgs/development/libraries/libraw/default.nix b/pkgs/development/libraries/libraw/default.nix
index 0b196cc22e01..d3127437de61 100644
--- a/pkgs/development/libraries/libraw/default.nix
+++ b/pkgs/development/libraries/libraw/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "Library for reading RAW files obtained from digital photo cameras (CRW/CR2, NEF, RAF, DNG, and others)";
     homepage = http://www.libraw.org/;
     license = stdenv.lib.licenses.gpl2Plus;
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
 
diff --git a/pkgs/development/libraries/libre/default.nix b/pkgs/development/libraries/libre/default.nix
index f266841ffaf6..fe130c5203da 100644
--- a/pkgs/development/libraries/libre/default.nix
+++ b/pkgs/development/libraries/libre/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     ''PREFIX=$(out)''
   ]
   ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
-  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
+  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
   ;
   meta = {
     homepage = "http://www.creytiv.com/re.html";
diff --git a/pkgs/development/libraries/librelp/default.nix b/pkgs/development/libraries/librelp/default.nix
index 52439f0fe2cc..dce85331c1be 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.8";
+  name = "librelp-1.2.12";
 
   src = fetchurl {
     url = "http://download.rsyslog.com/librelp/${name}.tar.gz";
-    sha256 = "1qxj7isa2d10aw6c4a9pd3fx08vv06rrhac312avgcjmdqaa88r6";
+    sha256 = "1mvvxqfsfg96rb6xv3fw7mcsqmyfnsb74sc53gnhpcpp4h2p6m83";
   };
 
   buildInputs = [ pkgconfig gnutls zlib ];
diff --git a/pkgs/development/libraries/librem/default.nix b/pkgs/development/libraries/librem/default.nix
index 730916bf9d3b..5b7041601f72 100644
--- a/pkgs/development/libraries/librem/default.nix
+++ b/pkgs/development/libraries/librem/default.nix
@@ -12,15 +12,14 @@ stdenv.mkDerivation rec {
     "LIBRE_INC=${libre}/include/re"
     ''PREFIX=$(out)''
   ]
-  ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.cc.cc}"
-  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.cc.libc}"
+  ++ stdenv.lib.optional (stdenv.cc.cc != null) "SYSROOT_ALT=${stdenv.lib.getDev stdenv.cc.cc}"
+  ++ stdenv.lib.optional (stdenv.cc.libc != null) "SYSROOT=${stdenv.lib.getDev stdenv.cc.libc}"
   ;
   meta = {
     homepage = "http://www.creytiv.com/rem.html";
     platforms = with stdenv.lib.platforms; linux;
     maintainers = with stdenv.lib.maintainers; [raskin];
     license = stdenv.lib.licenses.bsd3;
-    inherit version;
     downloadPage = "http://www.creytiv.com/pub/";
     updateWalker = true;
     downloadURLRegexp = "/rem-.*[.]tar[.].*";
diff --git a/pkgs/development/libraries/libressl/2.3.nix b/pkgs/development/libraries/libressl/2.3.nix
index fed460a134be..6009a44dcd21 100644
--- a/pkgs/development/libraries/libressl/2.3.nix
+++ b/pkgs/development/libraries/libressl/2.3.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   meta = with stdenv.lib; {
     description = "Free TLS/SSL implementation";
diff --git a/pkgs/development/libraries/libressl/2.4.nix b/pkgs/development/libraries/libressl/2.4.nix
index 332102658f9a..43f9244d7a80 100644
--- a/pkgs/development/libraries/libressl/2.4.nix
+++ b/pkgs/development/libraries/libressl/2.4.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
 
   meta = with stdenv.lib; {
     description = "Free TLS/SSL implementation";
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index d6a527ea3153..7a0112e15cab 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [ libxml2 libgsf bzip2 libcroco pango libintlOrEmpty ]
     ++ stdenv.lib.optional enableIntrospection [ gobjectIntrospection ];
diff --git a/pkgs/development/libraries/librsync/0.9.nix b/pkgs/development/libraries/librsync/0.9.nix
index 9738794b6b17..0954694cf290 100644
--- a/pkgs/development/libraries/librsync/0.9.nix
+++ b/pkgs/development/libraries/librsync/0.9.nix
@@ -1,13 +1,15 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchurl }:
 
 stdenv.mkDerivation {
   name = "librsync-0.9.7";
-  
+
   src = fetchurl {
     url = mirror://sourceforge/librsync/librsync-0.9.7.tar.gz;
     sha256 = "1mj1pj99mgf1a59q9f2mxjli2fzxpnf55233pc1klxk2arhf8cv6";
   };
 
+  hardeningDisable = [ "format" ];
+
   configureFlags = if stdenv.isCygwin then "--enable-static" else "--enable-shared";
 
   crossAttrs = {
diff --git a/pkgs/development/libraries/libsamplerate/default.nix b/pkgs/development/libraries/libsamplerate/default.nix
index 771e31f7b79b..d7cb741a042a 100644
--- a/pkgs/development/libraries/libsamplerate/default.nix
+++ b/pkgs/development/libraries/libsamplerate/default.nix
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
   #--disable-fftw          disable usage of FFTW
   #--disable-cpu-clip      disable tricky cpu specific clipper
 
-  outputs = [ "dev" "bin" "out" ];
+  outputs = [ "bin" "dev" "out" ];
 
   postConfigure = optionalString stdenv.isDarwin ''
     # need headers from the Carbon.framework in /System/Library/Frameworks to
diff --git a/pkgs/development/libraries/libseccomp/default.nix b/pkgs/development/libraries/libseccomp/default.nix
index e30271aaa384..a086ae890bd0 100644
--- a/pkgs/development/libraries/libseccomp/default.nix
+++ b/pkgs/development/libraries/libseccomp/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, getopt }:
 
-let version = "2.3.0"; in
+let version = "2.3.1"; in
 
 stdenv.mkDerivation rec {
   name = "libseccomp-${version}";
 
   src = fetchurl {
     url = "https://github.com/seccomp/libseccomp/releases/download/v${version}/libseccomp-${version}.tar.gz";
-    sha256 = "07chdgr87aayn6sjm94y6gisl4j6si1hr9cqhs09l9bqfnky6mnp";
+    sha256 = "0asnlkzqms520r0dra08dzcz5hh6hs7lkajfw9wij3vrd0hxsnzz";
   };
 
   buildInputs = [ getopt ];
diff --git a/pkgs/development/libraries/libsexy/default.nix b/pkgs/development/libraries/libsexy/default.nix
index c0f12c545641..c8751c3e5dd4 100644
--- a/pkgs/development/libraries/libsexy/default.nix
+++ b/pkgs/development/libraries/libsexy/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig
-, glib, gtk, libxml2, pango
+, glib, gtk2, libxml2, pango
 }:
  
 stdenv.mkDerivation {
@@ -12,7 +12,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkgconfig ];
 
-  buildInputs = [ glib gtk libxml2 pango ];
+  buildInputs = [ glib gtk2 libxml2 pango ];
 
   meta = with stdenv.lib; {
     description = "A collection of GTK+ widgets";
diff --git a/pkgs/development/libraries/libsndfile/default.nix b/pkgs/development/libraries/libsndfile/default.nix
index 85d30fdd79b6..30b378d77a46 100644
--- a/pkgs/development/libraries/libsndfile/default.nix
+++ b/pkgs/development/libraries/libsndfile/default.nix
@@ -3,11 +3,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "libsndfile-1.0.26";
+  name = "libsndfile-1.0.27";
 
   src = fetchurl {
     url = "http://www.mega-nerd.com/libsndfile/files/${name}.tar.gz";
-    sha256 = "14jhla289cj45946h0hq2an0a9g4wkwb3v4571bla6ixfvn20rfd";
+    sha256 = "1h7s61nhf7vklh9sdsbbqzb6x287q4x4j1jc5gmjragl4wprb4d3";
   };
 
   buildInputs = [ pkgconfig flac libogg libvorbis ]
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  outputs = [ "dev" "out" "bin" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   # need headers from the Carbon.framework in /System/Library/Frameworks to
   # compile this on darwin -- not sure how to handle
diff --git a/pkgs/development/libraries/libsodium/default.nix b/pkgs/development/libraries/libsodium/default.nix
index e8b3bc1cebc9..b0bef6149d55 100644
--- a/pkgs/development/libraries/libsodium/default.nix
+++ b/pkgs/development/libraries/libsodium/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1gn45g956lyz8l6iq187yc6l627vyivyp8qc5dkr6dnhdnlqddvi";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libsoup/default.nix b/pkgs/development/libraries/libsoup/default.nix
index 05026a06c613..707129a16bb7 100644
--- a/pkgs/development/libraries/libsoup/default.nix
+++ b/pkgs/development/libraries/libsoup/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, glib, libxml2, pkgconfig
 , gnomeSupport ? true, libgnome_keyring, sqlite, glib_networking, gobjectIntrospection
-, valaSupport ? true, vala_0_23
+, valaSupport ? true, vala_0_32
 , libintlOrEmpty
 , intltool, python }:
 let
@@ -22,10 +22,10 @@ stdenv.mkDerivation {
      substituteInPlace libsoup/Makefile.in --replace "\$(DESTDIR)\$(vapidir)" "\$(DESTDIR)\$(girdir)/../vala/vapi"
   '';
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = libintlOrEmpty ++ [ intltool python sqlite ]
-    ++ stdenv.lib.optionals valaSupport [ vala_0_23 ];
+    ++ stdenv.lib.optionals valaSupport [ vala_0_32 ];
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ glib libxml2 gobjectIntrospection ]
     ++ stdenv.lib.optionals gnomeSupport [ libgnome_keyring ];
@@ -33,8 +33,7 @@ stdenv.mkDerivation {
 
   # glib_networking is a runtime dependency, not a compile-time dependency
   configureFlags = "--disable-tls-check"
-    + stdenv.lib.optionalString (!valaSupport) " --enable-vala=no"
-    + stdenv.lib.optionalString (valaSupport) " --enable-vala=yes"
+    + " --enable-vala=${if valaSupport then "yes" else "no"}"
     + stdenv.lib.optionalString (!gnomeSupport) " --without-gnome";
 
   NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
diff --git a/pkgs/development/libraries/libspatialite/default.nix b/pkgs/development/libraries/libspatialite/default.nix
index eb3917b11928..faa0b988be2a 100644
--- a/pkgs/development/libraries/libspatialite/default.nix
+++ b/pkgs/development/libraries/libspatialite/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libxml2, sqlite, zlib, proj, geos }:
+{ stdenv, fetchurl, pkgconfig, libxml2, sqlite, zlib, proj, geos, libiconv }:
 
 stdenv.mkDerivation rec {
   name = "libspatialite-4.2.0";
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0b9ipmp09y2ij7yajyjsh0zcwps8n5g88lzfzlkph33lail8l4wz";
   };
 
-  buildInputs = [ pkgconfig libxml2 sqlite zlib proj geos ];
+  buildInputs = [ pkgconfig libxml2 sqlite zlib proj geos libiconv ];
 
   configureFlags = "--disable-freexl";
 
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.gaia-gis.it/fossil/libspatialite;
     # They allow any of these
     license = with licenses; [ gpl2Plus lgpl21Plus mpl11 ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libssh/default.nix b/pkgs/development/libraries/libssh/default.nix
index adfd11d9b197..0c1c92a0f6fd 100644
--- a/pkgs/development/libraries/libssh/default.nix
+++ b/pkgs/development/libraries/libssh/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c
   '';
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [ zlib openssl libsodium ];
 
diff --git a/pkgs/development/libraries/libssh2/default.nix b/pkgs/development/libraries/libssh2/default.nix
index 855e57c0550a..89e402d2416d 100644
--- a/pkgs/development/libraries/libssh2/default.nix
+++ b/pkgs/development/libraries/libssh2/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "116mh112w48vv9k3f15ggp5kxw5sj4b88dzb5j69llsh7ba1ymp4";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   buildInputs = [ openssl zlib ];
 
diff --git a/pkgs/development/libraries/libtasn1/default.nix b/pkgs/development/libraries/libtasn1/default.nix
index f8e7908314f9..1e45f07a22f2 100644
--- a/pkgs/development/libraries/libtasn1/default.nix
+++ b/pkgs/development/libraries/libtasn1/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "04y5m29pqmvkfdbppmsdifyx89v8xclxzklpfc7a1fkr9p4jz07s";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   buildInputs = [ perl texinfo ];
diff --git a/pkgs/development/libraries/libtcod/default.nix b/pkgs/development/libraries/libtcod/default.nix
index 959c544876f3..0374c7f89b7a 100644
--- a/pkgs/development/libraries/libtcod/default.nix
+++ b/pkgs/development/libraries/libtcod/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromBitbucket, cmake, SDL, mesa, upx }:
+{ stdenv, fetchFromBitbucket, cmake, SDL, mesa, upx, zlib }:
 
 stdenv.mkDerivation rec {
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   cmakeFlags="-DLIBTCOD_SAMPLES=OFF";
 
-  buildInputs = [ cmake SDL mesa upx ];
+  buildInputs = [ cmake SDL mesa upx zlib ];
 
   meta = {
     description = "API for roguelike games";
diff --git a/pkgs/development/libraries/libtelnet/default.nix b/pkgs/development/libraries/libtelnet/default.nix
new file mode 100644
index 000000000000..5f284d1a49a4
--- /dev/null
+++ b/pkgs/development/libraries/libtelnet/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "libtelnet-${version}";
+  version = "0.21+45f2d5c";
+
+  src = fetchFromGitHub {
+    owner = "seanmiddleditch";
+    repo = "libtelnet";
+    rev = "45f2d5cfcf383312280e61c85b107285fed260cf";
+    sha256 = "1lp6gdbndsp2w8mhy88c2jknxj2klvnggvq04ln7qjg8407ifpda";
+  };
+
+  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  buildInputs = [ zlib ];
+
+  meta = {
+    description = "Simple RFC-complient TELNET implementation as a C library";
+    homepage = "https://github.com/seanmiddleditch/libtelnet";
+    license = stdenv.lib.licenses.publicDomain;
+    maintainers = [ stdenv.lib.maintainers.tomberek ];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libtheora/default.nix b/pkgs/development/libraries/libtheora/default.nix
index 129dface2d93..375c59f77631 100644
--- a/pkgs/development/libraries/libtheora/default.nix
+++ b/pkgs/development/libraries/libtheora/default.nix
@@ -8,8 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0swiaj8987n995rc7hw0asvpwhhzpjiws8kr3s6r44bqqib2k5a0";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
-  outputDoc = "docdev";
+  outputs = [ "out" "dev" "devdoc" ];
+  outputDoc = "devdoc";
 
   nativeBuildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ libogg libvorbis ];
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index a506279c2a4a..bb6907c7b046 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -7,14 +7,11 @@ stdenv.mkDerivation rec {
   name = "libtiff-${version}";
 
   src = fetchurl {
-    urls =
-      [ "ftp://ftp.remotesensing.org/pub/libtiff/tiff-${version}.tar.gz"
-        "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz"
-      ];
+    url = "http://download.osgeo.org/libtiff/tiff-${version}.tar.gz";
     sha256 = "136nf1rj9dp5jgv1p7z4dk0xy3wki1w0vfjbk82f645m0w4samsd";
   };
 
-  outputs = [ "dev" "out" "bin" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/0.16.nix b/pkgs/development/libraries/libtorrent-rasterbar/0.16.nix
deleted file mode 100644
index 985c570a34e0..000000000000
--- a/pkgs/development/libraries/libtorrent-rasterbar/0.16.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // {
-  version = "0.16.19";
-  sha256 = "1nlrivhnshn4wd9m5dsbjmq84731z9f9glj5q3vxz0c01s1lv7vw";
-})
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/1.0.nix b/pkgs/development/libraries/libtorrent-rasterbar/1.0.nix
new file mode 100644
index 000000000000..97aa0145956c
--- /dev/null
+++ b/pkgs/development/libraries/libtorrent-rasterbar/1.0.nix
@@ -0,0 +1,6 @@
+{ callPackage, ... } @ args:
+
+callPackage ./generic.nix (args // {
+  version = "1.0.10";
+  sha256 = "1x5gvajplmwx869avlpx8p3c12pzi6wkgqaxmj5049nvw57l00kl";
+})
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/1.09.nix b/pkgs/development/libraries/libtorrent-rasterbar/1.09.nix
deleted file mode 100644
index e2809e9d483b..000000000000
--- a/pkgs/development/libraries/libtorrent-rasterbar/1.09.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ callPackage, ... } @ args:
-
-callPackage ./generic.nix (args // {
-  version = "1.0.9";
-  sha256 = "1kfydlvmx4pgi5lpbhqr4p3jr78p3f61ic32046mkp4yfyydrspl";
-})
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/default.nix b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
index 1950f94aca2e..b6aace0de2d6 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/default.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/default.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "1.1";
-  sha256 = "06dzzr9g2qhy48yy50xgac9jadjmqjykl52fq2kfl2l7xxzykkkz";
+  version = "1.1.1";
+  sha256 = "1185ixlhhwpkqvwhnhrzgply03zq8mycj25m1am9aad8nshiaw3j";
 })
diff --git a/pkgs/development/libraries/libtoxcore/new-api/default.nix b/pkgs/development/libraries/libtoxcore/new-api/default.nix
index eff8e2449a13..b88f4f6a74e1 100644
--- a/pkgs/development/libraries/libtoxcore/new-api/default.nix
+++ b/pkgs/development/libraries/libtoxcore/new-api/default.nix
@@ -2,13 +2,13 @@
 , libvpx, check, libconfig, pkgconfig }:
 
 stdenv.mkDerivation rec {
-  name = "tox-core-dev-20160319";
+  name = "tox-core-dev-20160727";
 
   src = fetchFromGitHub {
     owner  = "irungentoo";
     repo   = "toxcore";
-    rev    = "532629d486e3361c7d8d95b38293cc7d61dc4ee5";
-    sha256 = "0x8mjrjiafgia9vy7w4zhfzicr2fljx8xgm2ppi4kva2r2z1wm2f";
+    rev    = "755f084e8720b349026c85afbad58954cb7ff1d4";
+    sha256 = "0ap1gvlyihnfivv235dbrgsxsiiz70bhlmlr5gn1027w3h5kqz8w";
   };
 
   NIX_LDFLAGS = "-lgcc_s";
@@ -29,8 +29,10 @@ stdenv.mkDerivation rec {
     "--enable-daemon"
   ];
 
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [
-    autoreconfHook libsodium ncurses check libconfig pkgconfig
+    autoreconfHook libsodium ncurses check libconfig
   ] ++ stdenv.lib.optionals (!stdenv.isArm) [
     libopus
   ];
diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix
index 0cdcbd72bae1..ebf81c67be05 100644
--- a/pkgs/development/libraries/libunique/default.nix
+++ b/pkgs/development/libraries/libunique/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, glib, gtk, dbus_glib }:
+{ stdenv, fetchurl, pkgconfig, glib, gtk2, dbus_glib }:
 
 stdenv.mkDerivation rec {
   name = "libunique-1.1.6";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     ./1.1.6-include-terminator.patch
   ];
 
-  buildInputs = [ pkgconfig glib gtk dbus_glib ];
+  buildInputs = [ pkgconfig glib gtk2 dbus_glib ];
 
   # don't make deprecated usages hard errors
   preBuild = ''substituteInPlace unique/dbus/Makefile --replace -Werror ""'';
diff --git a/pkgs/development/libraries/libunwind/default.nix b/pkgs/development/libraries/libunwind/default.nix
index da09e2fcbe25..6ed29a8abc3f 100644
--- a/pkgs/development/libraries/libunwind/default.nix
+++ b/pkgs/development/libraries/libunwind/default.nix
@@ -20,11 +20,10 @@ stdenv.mkDerivation rec {
     sed -i -e '/LIBLZMA/s:-lzma:-llzma:' configure
   '';
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   propagatedBuildInputs = [ xz ];
 
-  NIX_CFLAGS_COMPILE = if stdenv.system == "x86_64-linux" then "-fPIC" else "";
   preInstall = ''
     mkdir -p "$out/lib"
     touch "$out/lib/libunwind-generic.so"
diff --git a/pkgs/development/libraries/libusb/default.nix b/pkgs/development/libraries/libusb/default.nix
index d5f08537e5be..1fd3cb39bbff 100644
--- a/pkgs/development/libraries/libusb/default.nix
+++ b/pkgs/development/libraries/libusb/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "libusb-compat-0.1.5";
 
-  outputs = [ "dev" "out" ]; # get rid of propagating systemd closure
+  outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
   outputBin = "dev";
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libusb1/default.nix b/pkgs/development/libraries/libusb1/default.nix
index fe920bba411f..3f5d1b917239 100644
--- a/pkgs/development/libraries/libusb1/default.nix
+++ b/pkgs/development/libraries/libusb1/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, libudev ? null, libobjc, IOKit }:
+{ stdenv, fetchurl, pkgconfig, systemd ? null, libobjc, IOKit }:
 
 stdenv.mkDerivation rec {
   name = "libusb-1.0.19";
@@ -8,17 +8,17 @@ stdenv.mkDerivation rec {
     sha256 = "0h38p9rxfpg9vkrbyb120i1diq57qcln82h5fr7hvy82c20jql3c";
   };
 
-  outputs = [ "dev" "out" ]; # get rid of propagating systemd closure
+  outputs = [ "out" "dev" ]; # get rid of propagating systemd closure
 
   buildInputs = [ pkgconfig ];
   propagatedBuildInputs =
-    stdenv.lib.optional stdenv.isLinux libudev ++
+    stdenv.lib.optional stdenv.isLinux systemd ++
     stdenv.lib.optionals stdenv.isDarwin [ libobjc IOKit ];
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s";
 
   preFixup = stdenv.lib.optionalString stdenv.isLinux ''
-    sed 's,-ludev,-L${libudev.out}/lib -ludev,' -i $out/lib/libusb-1.0.la
+    sed 's,-ludev,-L${systemd.lib}/lib -ludev,' -i $out/lib/libusb-1.0.la
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/libva/default.nix b/pkgs/development/libraries/libva/default.nix
index 44db602f1eba..425eef001859 100644
--- a/pkgs/development/libraries/libva/default.nix
+++ b/pkgs/development/libraries/libva/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0py9igf4kicj7ji22bjawkpd6my013qpg0s4ir2np9l1rk5vr2d6";
   };
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/libvdpau/default.nix b/pkgs/development/libraries/libvdpau/default.nix
index 3337a89dd1ce..79863f40dffb 100644
--- a/pkgs/development/libraries/libvdpau/default.nix
+++ b/pkgs/development/libraries/libvdpau/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "857a01932609225b9a3a5bf222b85e39b55c08787d0ad427dbd9ec033d58d736";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = with xorg; [ pkgconfig dri2proto libXext ];
 
diff --git a/pkgs/development/libraries/libvirt-glib/default.nix b/pkgs/development/libraries/libvirt-glib/default.nix
index ae83ce78d5fe..36b5759a2cc0 100644
--- a/pkgs/development/libraries/libvirt-glib/default.nix
+++ b/pkgs/development/libraries/libvirt-glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, libvirt, glib, libxml2, intltool, libtool, yajl
-, nettle, libgcrypt, python, pygobject, gobjectIntrospection, libcap_ng, numactl
+, nettle, libgcrypt, python, pygobject2, gobjectIntrospection, libcap_ng, numactl
 , xen
 }:
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     pkgconfig libvirt glib libxml2 intltool libtool yajl nettle libgcrypt
-    python pygobject gobjectIntrospection libcap_ng numactl xen
+    python pygobject2 gobjectIntrospection libcap_ng numactl xen
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 0f9b5b5155b5..fd9fd168db73 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -9,11 +9,11 @@
 # if you update, also bump pythonPackages.libvirt or it will break
 stdenv.mkDerivation rec {
   name = "libvirt-${version}";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchurl {
     url = "http://libvirt.org/sources/${name}.tar.xz";
-    sha256 = "0sriasjc573c519yqw1hcfb3qqjcsm9hm8vayw0anwkl6di9ay8s";
+    sha256 = "168ng4k5sik2jiylrlpmqdj3g8hnmsmvh84y8nvfgc7fdbbah5g3";
   };
 
   patches = [ ./build-on-bsd.patch ];
diff --git a/pkgs/development/libraries/libvisual/default.nix b/pkgs/development/libraries/libvisual/default.nix
index dc2f0338b483..50a1f5ac3377 100644
--- a/pkgs/development/libraries/libvisual/default.nix
+++ b/pkgs/development/libraries/libvisual/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig glib ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "An abstraction library for audio visualisations";
     homepage = "http://sourceforge.net/projects/libvisual/";
diff --git a/pkgs/development/libraries/libvorbis/default.nix b/pkgs/development/libraries/libvorbis/default.nix
index 0022799c88fe..682fcca98a36 100644
--- a/pkgs/development/libraries/libvorbis/default.nix
+++ b/pkgs/development/libraries/libvorbis/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1lg1n3a6r41492r7in0fpvzc7909mc5ir9z0gd3qh2pz4yalmyal";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libvpx/default.nix b/pkgs/development/libraries/libvpx/default.nix
index 278679698c63..7d37393d4333 100644
--- a/pkgs/development/libraries/libvpx/default.nix
+++ b/pkgs/development/libraries/libvpx/default.nix
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''patchShebangs .'';
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libvpx/git.nix b/pkgs/development/libraries/libvpx/git.nix
index 1893d73401a8..1dafd4a124dc 100644
--- a/pkgs/development/libraries/libvpx/git.nix
+++ b/pkgs/development/libraries/libvpx/git.nix
@@ -73,7 +73,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''patchShebangs .'';
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
   setOutputFlags = false;
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index 20502e297bf8..094edc36bbbf 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation {
     sha256 = "d48ac9c7f50c0d563097f63d07bcc83744c7d92a1b4ef65e5faeab32b5ccb723";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   patches = [ ./install_introspection_to_prefix.patch ];
diff --git a/pkgs/development/libraries/libwnck/default.nix b/pkgs/development/libraries/libwnck/default.nix
index bb5258120494..6e0809664cff 100644
--- a/pkgs/development/libraries/libwnck/default.nix
+++ b/pkgs/development/libraries/libwnck/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, intltool, xorg }:
+{ stdenv, fetchurl, pkgconfig, gtk2, intltool, xorg }:
 
 let
   ver_maj = "2.31";
@@ -12,10 +12,10 @@ stdenv.mkDerivation rec {
     sha256 = "17isfjvrzgj5znld2a7zsk9vd39q9wnsysnw5jr8iz410z935xw3";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
-  buildInputs = [ pkgconfig gtk intltool xorg.libX11 xorg.libXres ];
+  buildInputs = [ pkgconfig gtk2 intltool xorg.libX11 xorg.libXres ];
   # ?another optional: startup-notification
 
   configureFlags = [ "--disable-introspection" ]; # not needed anywhere AFAIK
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index 205ebc85a121..173e1814aeab 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0q47xa1szlxwgvwmhv4b7xwawnykz1hnc431d84nj8dlh2q8f22v";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [ pkgconfig yacc flex xkeyboard_config libxcb ];
 
diff --git a/pkgs/development/libraries/libxklavier/default.nix b/pkgs/development/libraries/libxklavier/default.nix
index 46fe515faafa..1150d04e1b49 100644
--- a/pkgs/development/libraries/libxklavier/default.nix
+++ b/pkgs/development/libraries/libxklavier/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "016lpdv35z0qsw1cprdc2k5qzkdi5waj6qmr0a2q6ljn9g2kpv7b";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   # TODO: enable xmodmap support, needs xmodmap DB
   propagatedBuildInputs = with xorg; [ libX11 libXi xkeyboard_config libxml2 libICE glib libxkbfile isocodes ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 45ce1b555925..ab3654cb626b 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     sha256 = "0i7a0nhxwkxx6dkm8917qn0bsfn1av6ghg2f4dxanxi4bn4b1jjn";
   };
 
-  outputs = [ "dev" "out" "bin" "doc" ]
+  outputs = [ "bin" "dev" "out" "doc" ]
     ++ lib.optional supportPython "py";
   propagatedBuildOutputs = "out bin" + lib.optionalString supportPython " py";
 
diff --git a/pkgs/development/libraries/libxslt/default.nix b/pkgs/development/libraries/libxslt/default.nix
index c76f28246047..f1b69447fac5 100644
--- a/pkgs/development/libraries/libxslt/default.nix
+++ b/pkgs/development/libraries/libxslt/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       })
     ];
 
-  outputs = [ "dev" "out" "bin" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   buildInputs = [ libxml2 ];
 
diff --git a/pkgs/development/libraries/libyaml-cpp/default.nix b/pkgs/development/libraries/libyaml-cpp/default.nix
index ef806bce1232..f02843707265 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, makePIC ? false }:
+{ stdenv, fetchFromGitHub, cmake, boost }:
 
 stdenv.mkDerivation rec {
   name = "libyaml-cpp-${version}";
@@ -11,9 +11,13 @@ stdenv.mkDerivation rec {
     sha256 = "0qr286q8mwbr4cxz0y0rf045zc071qh3cb804by6w1ydlqciih8a";
   };
 
+  outputs = [ "out" "dev" ];
+
   buildInputs = [ cmake boost ];
 
-  cmakeFlags = stdenv.lib.optionals makePIC [ "-DCMAKE_C_FLAGS=-fPIC" "-DCMAKE_CXX_FLAGS=-fPIC" ];
+  cmakeFlags = "-DBUILD_SHARED_LIBS=ON";
+
+  enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/development/libraries/libyaml/default.nix b/pkgs/development/libraries/libyaml/default.nix
index 667298922ca8..e441d1e6b615 100644
--- a/pkgs/development/libraries/libyaml/default.nix
+++ b/pkgs/development/libraries/libyaml/default.nix
@@ -1,21 +1,15 @@
 { stdenv, fetchurl, fetchpatch }:
 let
-  version = "0.1.6";
+  version = "0.1.7";
 in
 stdenv.mkDerivation {
   name = "libyaml-${version}";
 
   src = fetchurl {
     url = "http://pyyaml.org/download/libyaml/yaml-${version}.tar.gz";
-    sha256 = "0j9731s5zjb8mjx7wzf6vh7bsqi38ay564x6s9nri2nh9cdrg9kx";
+    sha256 = "0a87931cx5m14a1x8rbjix3nz7agrcgndf4h392vm62a4rby9240";
   };
 
-  patches = [(fetchpatch {
-    name = "CVE-2014-9130.diff";
-    url = "http://bitbucket.org/xi/libyaml/commits/2b915675/raw/";
-    sha256 = "1vrkga2wk060wccg61c2mj5prcyv181qikgdfi1z4hz8ygmpvl04";
-  })];
-
   meta = with stdenv.lib; {
     homepage = http://pyyaml.org/;
     description = "A YAML 1.1 parser and emitter written in C";
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 714745c432eb..d1f2e633a0c5 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "08b26qbfxq6z5xf36y1d8insm5valv83dhj933iag6man04prb2r";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ perl ];
   propagatedBuildInputs = [ zlib ];
diff --git a/pkgs/development/libraries/mapnik/default.nix b/pkgs/development/libraries/mapnik/default.nix
index 122fb710e739..de8cc1e49cc2 100644
--- a/pkgs/development/libraries/mapnik/default.nix
+++ b/pkgs/development/libraries/mapnik/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fda6syrfb81930sf7rgw1qmpnik8k1ngrjkh43ywd3s37nbqh1n";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ python scons ];
 
diff --git a/pkgs/development/libraries/mbedtls/1.3.nix b/pkgs/development/libraries/mbedtls/1.3.nix
new file mode 100644
index 000000000000..9bb7a5fa003c
--- /dev/null
+++ b/pkgs/development/libraries/mbedtls/1.3.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "mbedtls-1.3.17";
+
+  src = fetchurl {
+    url = "https://tls.mbed.org/download/${name}-gpl.tgz";
+    sha256 = "10nviv3d8w6sp3kn3yzdpssvzqxdbr4kg38g7rg930q2hlzb9gpm";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  postPatch = ''
+    patchShebangs .
+  '';
+
+  makeFlags = [
+    "SHARED=1"
+  ];
+
+  installFlags = [
+    "DESTDIR=\${out}"
+  ];
+
+  doCheck = true;
+
+  meta = with stdenv.lib; {
+    homepage = https://tls.mbed.org/;
+    description = "Portable cryptographic and SSL/TLS library, aka polarssl";
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ wkennington fpletz ];
+  };
+}
diff --git a/pkgs/development/libraries/mediastreamer/default.nix b/pkgs/development/libraries/mediastreamer/default.nix
index 164960a52833..06cc53abb564 100644
--- a/pkgs/development/libraries/mediastreamer/default.nix
+++ b/pkgs/development/libraries/mediastreamer/default.nix
@@ -1,39 +1,34 @@
 { stdenv, fetchurl, pkgconfig, intltool, alsaLib, libpulseaudio, speex, gsm
 , libopus, ffmpeg, libX11, libXv, mesa, glew, libtheora, libvpx, SDL, libupnp
-, ortp, libv4l, libpcap, srtp, vim
+, ortp, libv4l, libpcap, srtp, fetchFromGitHub, cmake, bctoolbox, doxygen
+, python, libXext, libmatroska, openssl
 }:
 
 stdenv.mkDerivation rec {
-  name = "mediastreamer-2.12.1";
-
-  src = fetchurl {
-    url = "mirror://savannah/linphone/mediastreamer/${name}.tar.gz";
-    sha256 = "1rzjh2ln8qd6jvfmxlnbrcx2vbajx2j9hblqq2gdn10sf97qvgqd";
+  baseName = "mediastreamer2";
+  version = "2.14.0";
+  name = "${baseName}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "BelledonneCommunications";
+    repo = "${baseName}";
+    rev = "${version}";
+    sha256 = "1b59rzsaw54mhy4pz9hndmim4rgidkn7s6c4iyl34mz58lwxpmqp";
   };
 
   patches = [ ./plugins_dir.patch ];
 
-  postPatch = ''
-    sed -i "s/\(SRTP_LIBS=\"\$SRTP_LIBS -lsrtp\"\)/SRTP_LIBS=\"$(pkg-config --libs-only-l libsrtp)\"/g" configure
-  '';
-
-  nativeBuildInputs = [ pkgconfig intltool ];
+  nativeBuildInputs = [ pkgconfig intltool cmake doxygen python ];
 
   propagatedBuildInputs = [
     alsaLib libpulseaudio speex gsm libopus
     ffmpeg libX11 libXv mesa glew libtheora libvpx SDL libupnp
-    ortp libv4l libpcap srtp
-    vim
-  ];
-
-  configureFlags = [
-    "--enable-external-ortp"
-    "--with-srtp=${srtp}"
-    "--enable-xv"
-    "--enable-glx"
+    ortp libv4l libpcap srtp bctoolbox libXext libmatroska
+    openssl
   ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+  NIX_CFLAGS_COMPILE = " -DGIT_VERSION=\"v2.14.0\" -Wno-error=deprecated-declarations ";
+  NIX_LDFLAGS = " -lXext -lssl ";
 
   meta = with stdenv.lib; {
     description = "A powerful and lightweight streaming engine specialized for voice/video telephony applications";
diff --git a/pkgs/development/libraries/mediastreamer/msopenh264.nix b/pkgs/development/libraries/mediastreamer/msopenh264.nix
index e312c730ab21..47b7029927cf 100644
--- a/pkgs/development/libraries/mediastreamer/msopenh264.nix
+++ b/pkgs/development/libraries/mediastreamer/msopenh264.nix
@@ -1,15 +1,19 @@
-{ stdenv, fetchurl, autoreconfHook, pkgconfig, mediastreamer, openh264 }:
+{ stdenv, fetchurl, autoreconfHook, pkgconfig, mediastreamer, openh264
+, fetchgit, cmake
+}:
 
 stdenv.mkDerivation rec {
   name = "mediastreamer-openh264-${version}";
-  version = "1.0.0";
+  version = "0.0pre20160801";
 
-  src = fetchurl {
-    url = "http://download-mirror.savannah.gnu.org/releases/linphone/plugins/sources/msopenh264-${version}.tar.gz";
-    sha256 = "1622ma8g4yqvxa8pqwddsmhlpwak31i8zfl88f60k71k4dplw845";
+  src = fetchgit {
+    url = "git://git.linphone.org/msopenh264.git";
+    rev = "4cb4b134bf0f1538fd0c2c928eee2d5388115abc";
+    sha256 = "001km4xy1ifwbg1c19ncc75h867fzfcxy9pxvl4pxqb64169xc1k";
   };
 
   buildInputs = [ autoreconfHook pkgconfig mediastreamer openh264 ];
+  nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
     description = "H.264 encoder/decoder plugin for mediastreamer2";
diff --git a/pkgs/development/libraries/mesa-glu/default.nix b/pkgs/development/libraries/mesa-glu/default.nix
index a0d17666d524..b6f7411a1c24 100644
--- a/pkgs/development/libraries/mesa-glu/default.nix
+++ b/pkgs/development/libraries/mesa-glu/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ pkgconfig ];
   propagatedBuildInputs = [ mesa_noglu ];
 
+  outputs = [ "out" "dev" ];
+
   meta = {
     description = "OpenGL utility library";
     homepage = http://cgit.freedesktop.org/mesa/glu/;
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 4ed47f46a321..7231cf96302d 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -1,13 +1,12 @@
-{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, autoreconfHook, substituteAll
-, file, expat, libdrm, xorg, wayland, libudev, llvmPackages, libffi, libomxil-bellagio
-, libvdpau, libelf, libva
-, grsecEnabled
+{ stdenv, fetchurl, fetchpatch
+, pkgconfig, intltool, autoreconfHook, substituteAll
+, file, expat, libdrm, xorg, wayland, systemd
+, llvmPackages, libffi, libomxil-bellagio, libva
+, libelf, libvdpau, python
+, grsecEnabled ? false
 , enableTextureFloats ? false # Texture floats are patented, see docs/patents.txt
 }:
 
-if ! stdenv.lib.lists.elem stdenv.system stdenv.lib.platforms.mesaPlatforms then
-  throw "unsupported platform for Mesa"
-else
 
 /** Packaging design:
   - The basic mesa ($out) contains headers and libraries (GLU is in mesa_glu now).
@@ -20,11 +19,15 @@ else
   - libOSMesa is in $osmesa (~4 MB)
 */
 
-with { inherit (stdenv.lib) optional optionalString; };
+with stdenv.lib;
+
+if ! lists.elem stdenv.system platforms.mesaPlatforms then
+  throw "unsupported platform for Mesa"
+else
 
 let
-  version = "11.2.2";
-  # this is the default search path for DRI drivers
+  version = "12.0.2";
+  branch  = head (splitString "." version);
   driverLink = "/run/opengl-driver" + optionalString stdenv.isi686 "-32";
 in
 
@@ -34,24 +37,24 @@ stdenv.mkDerivation {
   src =  fetchurl {
     urls = [
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
-      (with stdenv.lib; ''ftp://ftp.freedesktop.org/pub/mesa/older-versions/''
-        + head (splitString "." version) + ''.x/${version}/mesa-${version}.tar.xz'')
+      "ftp://ftp.freedesktop.org/pub/mesa/older-versions/${branch}.x/${version}/mesa-${version}.tar.xz"
       "https://launchpad.net/mesa/trunk/${version}/+download/mesa-${version}.tar.xz"
     ];
-    sha256 = "40e148812388ec7c6d7b6657d5a16e2e8dabba8b97ddfceea5197947647bdfb4";
+    sha256 = "d957a5cc371dcd7ff2aa0d87492f263aece46f79352f4520039b58b1f32552cb";
   };
 
   prePatch = "patchShebangs .";
 
+  # TODO:
+  #  revive ./dricore-gallium.patch when it gets ported (from Ubuntu), as it saved
+  #  ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
   patches = [
     ./glx_ro_text_segm.patch # fix for grsecurity/PaX
     ./symlink-drivers.patch
-   # TODO: revive ./dricore-gallium.patch when it gets ported (from Ubuntu),
-   #  as it saved ~35 MB in $drivers; watch https://launchpad.net/ubuntu/+source/mesa/+changelog
   ] ++ optional stdenv.isLinux
       (substituteAll {
         src = ./dlopen-absolute-paths.diff;
-        libudev = libudev.out;
+        libudev = systemd.lib;
       });
 
   postPatch = ''
@@ -59,62 +62,60 @@ stdenv.mkDerivation {
       --replace _EGL_DRIVER_SEARCH_DIR '"${driverLink}"'
   '';
 
-  outputs = [ "dev" "out" "drivers" "osmesa" ];
+  outputs = [ "out" "dev" "drivers" "osmesa" ];
 
+  # TODO: Figure out how to enable opencl without having a runtime dependency on clang
   configureFlags = [
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-dri-driverdir=$(drivers)/lib/dri"
     "--with-dri-searchpath=${driverLink}/lib/dri"
-
+    "--with-egl-platforms=x11,wayland,drm"
+    (optionalString (stdenv.system != "armv7l-linux")
+      "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast")
+    (optionalString (stdenv.system != "armv7l-linux")
+      "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast")
+
+    (enableFeature enableTextureFloats "texture-float")
+    (enableFeature grsecEnabled "glx-rts")
+    (enableFeature stdenv.isLinux "dri3")
+    (enableFeature stdenv.isLinux "nine") # Direct3D in Wine
+    "--enable-dri"
+    "--enable-driglx-direct"
     "--enable-gles1"
     "--enable-gles2"
-    "--enable-dri"
-  ] ++ optional stdenv.isLinux "--enable-dri3"
-    ++ [
     "--enable-glx"
+    "--enable-glx-tls"
     "--enable-gallium-osmesa" # used by wine
+    "--enable-gallium-llvm"
     "--enable-egl"
     "--enable-xa" # used in vmware driver
     "--enable-gbm"
-  ] ++ optional stdenv.isLinux "--enable-nine" # Direct3D in Wine
-    ++ [
     "--enable-xvmc"
     "--enable-vdpau"
-    #"--enable-omx"
-    #"--enable-va"
-
-    # TODO: Figure out how to enable opencl without having a runtime dependency on clang
-    "--disable-opencl"
-
-    (if "armv7l-linux" == stdenv.system
-      then null
-      else "--with-gallium-drivers=svga,i915,ilo,r300,r600,radeonsi,nouveau,freedreno,swrast")
     "--enable-shared-glapi"
     "--enable-sysfs"
-    "--enable-driglx-direct" # seems enabled anyway
-    "--enable-glx-tls"
-    (if "armv7l-linux" == stdenv.system
-      then "--with-dri-drivers="
-      else "--with-dri-drivers=i915,i965,nouveau,radeon,r200,swrast")
-    "--with-egl-platforms=x11,wayland,drm"
-
-    "--enable-gallium-llvm"
     "--enable-llvm-shared-libs"
-  ] ++ optional enableTextureFloats "--enable-texture-float"
-    ++ optional grsecEnabled "--enable-glx-rts"; # slight performance degradation, enable only for grsec
+    "--enable-omx"
+    "--enable-va"
+    "--disable-opencl"
+  ];
 
   nativeBuildInputs = [ pkgconfig file ];
 
-  propagatedBuildInputs = with xorg; [ libXdamage libXxf86vm ]
+  propagatedBuildInputs = with xorg;
+    [ libXdamage libXxf86vm ]
     ++ optional stdenv.isLinux libdrm;
 
   buildInputs = with xorg; [
     autoreconfHook intltool expat llvmPackages.llvm
     glproto dri2proto dri3proto presentproto
     libX11 libXext libxcb libXt libXfixes libxshmfence
-    libffi wayland libvdpau libelf libXvMC /* libomxil-bellagio libva */
-  ] ++ optional stdenv.isLinux libudev;
+    libffi wayland libvdpau libelf libXvMC
+    libomxil-bellagio libva libpthreadstubs
+    (python.withPackages (ps: [ ps.Mako ]))
+  ] ++ optional stdenv.isLinux systemd;
+
 
   enableParallelBuilding = true;
   doCheck = false;
@@ -124,42 +125,42 @@ stdenv.mkDerivation {
     "localstatedir=\${TMPDIR}"
   ];
 
-  # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM;
-  #   also move libOSMesa to $osmesa, as it's relatively big
-  # ToDo: probably not all .la files are completely fixed, but it shouldn't matter
-  postInstall = with stdenv.lib; ''
-    mv -t "$drivers/lib/" \
-      $out/lib/libXvMC* \
-      $out/lib/d3d \
-      $out/lib/vdpau \
-      $out/lib/libxatracker*
+  # TODO: probably not all .la files are completely fixed, but it shouldn't matter;
+  postInstall = ''
+    # move gallium-related stuff to $drivers, so $out doesn't depend on LLVM
+    mv -t "$drivers/lib/"    \
+      $out/lib/libXvMC*      \
+      $out/lib/d3d           \
+      $out/lib/vdpau         \
+      $out/lib/bellagio      \
+      $out/lib/libxatracker* \
+
+    mv $out/lib/dri/* $drivers/lib/dri
 
+    # move libOSMesa to $osmesa, as it's relatively big
     mkdir -p {$osmesa,$drivers}/lib/
-    mv -t $osmesa/lib/ \
-      $out/lib/libOSMesa*
+    mv -t $osmesa/lib/ $out/lib/libOSMesa*
 
-  '' + /* now fix references in .la files */ ''
-    sed "/^libdir=/s,$out,$osmesa," -i \
-      $osmesa/lib/libOSMesa*.la
+    # now fix references in .la files
+    sed "/^libdir=/s,$out,$osmesa," -i $osmesa/lib/libOSMesa*.la
 
-  '' + /* set the default search path for DRI drivers; used e.g. by X server */ ''
+    # set the default search path for DRI drivers; used e.g. by X server
     substituteInPlace "$dev/lib/pkgconfig/dri.pc" --replace '$(drivers)' "${driverLink}"
   '';
-  #ToDo: @vcunat isn't sure if drirc will be found when in $out/etc/, but it doesn't seem important ATM */
 
-  postFixup =
+  # TODO:
+  #  @vcunat isn't sure if drirc will be found when in $out/etc/;
+  #  check $out doesn't depend on llvm: builder failures are ignored
+  #  for some reason grep -qv '${llvmPackages.llvm}' -R "$out";
+  postFixup = ''
     # add RPATH so the drivers can find the moved libgallium and libdricore9
     # moved here to avoid problems with stripping patchelfed files
-  ''
     for lib in $drivers/lib/*.so* $drivers/lib/*/*.so*; do
       if [[ ! -L "$lib" ]]; then
         patchelf --set-rpath "$(patchelf --print-rpath $lib):$drivers/lib" "$lib"
       fi
     done
   '';
-  # ToDo + /* check $out doesn't depend on llvm */ ''
-  # builder failures are ignored for some reason
-  #   grep -qv '${llvmPackages.llvm}' -R "$out"
 
   passthru = { inherit libdrm version driverLink; };
 
diff --git a/pkgs/development/libraries/ming/default.nix b/pkgs/development/libraries/ming/default.nix
index ba512ec5d8cb..e9777fe5635e 100644
--- a/pkgs/development/libraries/ming/default.nix
+++ b/pkgs/development/libraries/ming/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   # We don't currently build the Python, Perl, PHP, etc. bindings.
   # Perl is needed for the test suite, though.
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
   nativeBuildInputs = [ autoreconfHook flex bison perl ];
   buildInputs = [ freetype zlib libpng giflib ];
 
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 259d5a25d15b..7633008b4bef 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
     "--enable-opengl"
   ];
 
+  CXXFLAGS = "-std=c++11";
+
   enableParallelBuilding = true;
 
   postInstall = ''
diff --git a/pkgs/development/libraries/motif/default.nix b/pkgs/development/libraries/motif/default.nix
index 08b59deff59d..1f86af0a2e86 100644
--- a/pkgs/development/libraries/motif/default.nix
+++ b/pkgs/development/libraries/motif/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
 
   propagatedBuildInputs = [ libXp libXau ];
 
+  hardeningDisable = [ "format" ];
+
   makeFlags = [ "CFLAGS=-fno-strict-aliasing" ];
 
   prePatch = ''rm lib/Xm/Xm.h'';
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index 06e8c8e5ac35..642f93872eba 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -17,9 +17,11 @@ stdenv.mkDerivation rec {
   # `faac' expects `mp4.h'.
   postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h";
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     homepage = http://code.google.com/p/mp4v2;
     maintainers = [ stdenv.lib.maintainers.urkud ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/mpfr/default.nix b/pkgs/development/libraries/mpfr/default.nix
index 8a964af01c80..8dbe150e2cb3 100644
--- a/pkgs/development/libraries/mpfr/default.nix
+++ b/pkgs/development/libraries/mpfr/default.nix
@@ -10,11 +10,14 @@ stdenv.mkDerivation rec {
 
   patches = [ ./upstream.patch ];
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   # mpfr.h requires gmp.h
   propagatedBuildInputs = [ gmp ];
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   configureFlags =
     stdenv.lib.optional stdenv.isSunOS "--disable-thread-safe" ++
     stdenv.lib.optional stdenv.is64bit "--with-pic";
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index c1037a81c85e..3eff1f3d5bbd 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   patches = [ ./clang.patch ] ++ lib.optional (abiVersion == "5" && stdenv.cc.isGNU) ./gcc-5.patch;
 
-  outputs = [ "dev" "out" "man" ];
+  outputs = [ "out" "dev" "man" ];
   setOutputFlags = false; # some aren't supported
 
   configureFlags = [
diff --git a/pkgs/development/libraries/netcdf/default.nix b/pkgs/development/libraries/netcdf/default.nix
index 06137bdad1fe..5e296e8d754b 100644
--- a/pkgs/development/libraries/netcdf/default.nix
+++ b/pkgs/development/libraries/netcdf/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
         "--enable-dap"
         "--enable-shared"
     ]
-    ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" ]);
+    ++ (stdenv.lib.optionals mpiSupport [ "--enable-parallel-tests" "CC=${mpi}/bin/mpicc" ]);
 
     meta = {
         platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/nettle/generic.nix b/pkgs/development/libraries/nettle/generic.nix
index 1bfb739712f4..9633dacd68f2 100644
--- a/pkgs/development/libraries/nettle/generic.nix
+++ b/pkgs/development/libraries/nettle/generic.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation (rec {
 
   inherit src;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   buildInputs = [ gnum4 ];
diff --git a/pkgs/development/libraries/nghttp2/default.nix b/pkgs/development/libraries/nghttp2/default.nix
index b690a55bb928..2eff4b3b5a41 100644
--- a/pkgs/development/libraries/nghttp2/default.nix
+++ b/pkgs/development/libraries/nghttp2/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     substituteInPlace configure --replace "malloc_stats_print" "je_malloc_stats_print"
   '' else null;
 
-  outputs = [ "dev" "out" "lib" ];
+  outputs = [ "out" "dev" "lib" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ openssl libev zlib ];
diff --git a/pkgs/development/libraries/nlohmann_json/default.nix b/pkgs/development/libraries/nlohmann_json/default.nix
index 819160a8d7c8..dcc0c781ee0e 100644
--- a/pkgs/development/libraries/nlohmann_json/default.nix
+++ b/pkgs/development/libraries/nlohmann_json/default.nix
@@ -2,20 +2,27 @@
 
 stdenv.mkDerivation rec {
   name = "nlohmann_json-${version}";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "nlohmann";
     repo = "json";
     rev = "v${version}";
-    sha256 = "10sk8d23vh0c7b3qafjz2n8r5jv8vc275bl069ikhqnx1zxv6hwp";
+    sha256 = "192mg2y93g9q0jdn3fdffydpxk19nsrcv92kfip6srkdkwja18ri";
   };
 
-  buildInputs = [ cmake ];
+  nativeBuildInputs = [ cmake ];
 
   doCheck = true;
   checkTarget = "test";
 
+  crossAttrs = {
+    cmakeFlags = "-DBuildTests=OFF";
+    doCheck = false;
+  } // stdenv.lib.optionalAttrs (stdenv.cross.libc == "msvcrt") {
+    cmakeFlags = "-DBuildTests=OFF -DCMAKE_SYSTEM_NAME=Windows";
+  };
+
   meta = with stdenv.lib; {
     description = "Header only C++ library for the JSON file format";
     homepage = https://github.com/nlohmann/json;
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index e8ba9c7ec54f..30339cfdae9b 100644
--- a/pkgs/development/libraries/nspr/default.nix
+++ b/pkgs/development/libraries/nspr/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "1pk98bmc5xzbl62q5wf2d6mryf0v95z6rsmxz27nclwiaqg0mcg0";
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
   outputBin = "dev";
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 008494818e54..841795383805 100644
--- a/pkgs/development/libraries/nss/default.nix
+++ b/pkgs/development/libraries/nss/default.nix
@@ -44,7 +44,7 @@ in stdenv.mkDerivation rec {
     INSTALL_TARGET
   '';
 
-  outputs = [ "dev" "out" "tools" ];
+  outputs = [ "out" "dev" "tools" ];
 
   preConfigure = "cd nss";
 
diff --git a/pkgs/development/libraries/ntl/default.nix b/pkgs/development/libraries/ntl/default.nix
new file mode 100644
index 000000000000..32467e4849b5
--- /dev/null
+++ b/pkgs/development/libraries/ntl/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchurl, perl, gmp, libtool
+}:
+
+stdenv.mkDerivation rec {
+  name = "ntl-${version}";
+  version = "9.11.0";
+  src = fetchurl {
+    url = "http://www.shoup.net/ntl/ntl-${version}.tar.gz";
+    sha256 = "1wcwxpcby1c50llncz131334qq26lzh3dz21rahymgvakrq0369p";
+  };
+
+  buildInputs = [ perl gmp libtool ];
+
+  sourceRoot = "${name}/src";
+
+  enableParallelBuilding = true;
+
+  dontAddPrefix = true;
+
+  configureFlags = [ "DEF_PREFIX=$(out)" "WIZARD=off" "SHARED=on" "NATIVE=off" "CXX=c++" ];
+
+  # doCheck = true; # takes some time
+
+  meta = {
+    description = "A Library for doing Number Theory";
+    longDescription = ''
+      NTL is a high-performance, portable C++ library providing data
+      structures and algorithms for manipulating signed, arbitrary
+      length integers, and for vectors, matrices, and polynomials over
+      the integers and over finite fields.
+    '';
+    homepage = http://www.shoup.net/ntl/;
+    license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/ntrack/default.nix b/pkgs/development/libraries/ntrack/default.nix
index b74607784747..564bf9f62e3d 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, pygobject, python }:
+{ stdenv, fetchurl, glib, qt4, pkgconfig, libnl, python }:
 
 let
   version = "016";
diff --git a/pkgs/development/libraries/nvidia-texture-tools/default.nix b/pkgs/development/libraries/nvidia-texture-tools/default.nix
index 754ab4233e58..f35d363e5755 100644
--- a/pkgs/development/libraries/nvidia-texture-tools/default.nix
+++ b/pkgs/development/libraries/nvidia-texture-tools/default.nix
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake libpng ilmbase libtiff zlib libjpeg mesa libX11 ];
 
+  hardeningDisable = [ "format" ];
+
   patchPhase = ''
     # Fix build due to missing dependnecies.
     echo 'target_link_libraries(bc7 nvmath)' >> src/nvtt/bc7/CMakeLists.txt
diff --git a/pkgs/development/libraries/opencascade/6.5.nix b/pkgs/development/libraries/opencascade/6.5.nix
index 904137c4d8cc..252a6bb0ad16 100644
--- a/pkgs/development/libraries/opencascade/6.5.nix
+++ b/pkgs/development/libraries/opencascade/6.5.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
   # https://bugs.freedesktop.org/show_bug.cgi?id=83631
     + " -DGLX_GLXEXT_LEGACY";
 
+  hardeningDisable = [ "format" ];
+
   configureFlags = [ "--with-tcl=${tcl}/lib" "--with-tk=${tk}/lib" "--with-qt=${qt4}" "--with-ftgl=${ftgl}" "--with-freetype=${freetype.dev}" ];
 
   postInstall = ''
diff --git a/pkgs/development/libraries/opencascade/default.nix b/pkgs/development/libraries/opencascade/default.nix
index 536281d53725..51581bca382d 100644
--- a/pkgs/development/libraries/opencascade/default.nix
+++ b/pkgs/development/libraries/opencascade/default.nix
@@ -9,14 +9,25 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ cmake mesa tcl tk file libXmu qt4 freetype ];
 
-  preUnpack = ''
-    sourceRoot=`pwd`/ros/adm/cmake
-    cmakeFlags="$cmakeFlags -DINSTALL_DIR=$out -D3RDPARTY_TCL_DIR=${tcl} -D3RDPARTY_FREETYPE_DIR=${freetype.dev}"
-  '';
+  sourceRoot = "ros/adm/cmake";
+
+  cmakeFlags = [
+    "-D3RDPARTY_TCL_DIR=${tcl}"
+    "-D3RDPARTY_FREETYPE_DIR=${freetype.dev}"
+
+    # Not used on Linux but must be defined during configuration.
+    "-D3RDPARTY_FREETYPE_DLL=${freetype.dev}"
+  ];
 
   # https://bugs.freedesktop.org/show_bug.cgi?id=83631
   NIX_CFLAGS_COMPILE = "-DGLX_GLXEXT_LEGACY";
 
+  hardeningDisable = [ "format" ];
+
+  preConfigure = ''
+    cmakeFlags="$cmakeFlags -DINSTALL_DIR=$out"
+  '';
+
   postInstall = ''
     mv $out/inc $out/include
     mkdir -p $out/share/doc/${name}
diff --git a/pkgs/development/libraries/opencascade/oce.nix b/pkgs/development/libraries/opencascade/oce.nix
index 4988ee6ef240..58f9019d6e03 100644
--- a/pkgs/development/libraries/opencascade/oce.nix
+++ b/pkgs/development/libraries/opencascade/oce.nix
@@ -2,10 +2,10 @@
 ftgl, freetype}:
 
 stdenv.mkDerivation rec {
-  name = "opencascade-oce-0.16";
+  name = "opencascade-oce-0.17.2";
   src = fetchurl {
-    url = https://github.com/tpaviot/oce/archive/OCE-0.16.tar.gz;
-    sha256 = "05bmg1cjz827bpq8s0hp96byirm4c3zc9vx26qz76kjsg8ry87w4";
+    url = https://github.com/tpaviot/oce/archive/OCE-0.17.2.tar.gz;
+    sha256 = "0vpmnb0k5y2f7lpmwx9pg9yfq24zjvnsak5alzacncfm1hv9b6cd";
   };
 
   buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
diff --git a/pkgs/development/libraries/opencolorio/default.nix b/pkgs/development/libraries/opencolorio/default.nix
index 28d361ea7b8d..db9a5aeed21e 100644
--- a/pkgs/development/libraries/opencolorio/default.nix
+++ b/pkgs/development/libraries/opencolorio/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, cmake, unzip }:
 
 stdenv.mkDerivation rec {
-  name = "ocio-${version}";
+  name = "opencolorio-${version}";
   version = "1.0.9";
 
   src = fetchurl {
@@ -9,8 +9,15 @@ stdenv.mkDerivation rec {
     sha256 = "14j80dgbb6f09z63aqh2874vhzpga6zksz8jmqnj1zh87x15pqnr";
   };
 
+  outputs = [ "bin" "out" "dev" ];
+
   buildInputs = [ cmake unzip ];
 
+  postInstall = ''
+    rm $out/lib/*.a
+    mkdir -p $bin/bin; mv $out/bin $bin/
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://opencolorio.org;
     description = "A color management framework for visual effects and animation";
@@ -18,4 +25,4 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.goibhniu ];
     platforms = platforms.linux;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/libraries/opencv/3.x.nix b/pkgs/development/libraries/opencv/3.x.nix
index 187b6df39b2c..6a89a672b2c2 100644
--- a/pkgs/development/libraries/opencv/3.x.nix
+++ b/pkgs/development/libraries/opencv/3.x.nix
@@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig unzip ];
 
-  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
   cmakeFlags = [
     "-DWITH_IPP=${if enableIpp then "ON" else "OFF"}"
@@ -94,6 +94,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  hardeningDisable = [ "bindnow" "relro" ];
+
   passthru = lib.optionalAttrs enablePython { pythonPath = []; };
 
   meta = {
diff --git a/pkgs/development/libraries/opencv/default.nix b/pkgs/development/libraries/opencv/default.nix
index 70ea306ae808..d7f4367739f3 100644
--- a/pkgs/development/libraries/opencv/default.nix
+++ b/pkgs/development/libraries/opencv/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake pkgconfig unzip ];
 
-  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = lib.optional enableEXR "-I${ilmbase.dev}/include/OpenEXR";
 
   cmakeFlags = [
     (opencvFlag "TIFF" enableTIFF)
@@ -58,6 +58,8 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  hardeningDisable = [ "bindnow" "relro" ];
+
   passthru = lib.optionalAttrs enablePython { pythonPath = []; };
 
   meta = {
diff --git a/pkgs/development/libraries/openexr/default.nix b/pkgs/development/libraries/openexr/default.nix
index 738e7d87af66..22cc5b416e7d 100644
--- a/pkgs/development/libraries/openexr/default.nix
+++ b/pkgs/development/libraries/openexr/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0ca2j526n4wlamrxb85y2jrgcv0gf21b3a19rr0gh4rjqkv1581n";
   };
 
-  outputs = [ "out" "doc" ];
+  outputs = [ "bin" "dev" "out" "doc" ];
 
   preConfigure = ''
     ./bootstrap
diff --git a/pkgs/development/libraries/openjpeg/generic.nix b/pkgs/development/libraries/openjpeg/generic.nix
index b01ff527d8cd..03b6faed2679 100644
--- a/pkgs/development/libraries/openjpeg/generic.nix
+++ b/pkgs/development/libraries/openjpeg/generic.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   cmakeFlags = [
     "-DCMAKE_INSTALL_NAME_DIR=\${CMAKE_INSTALL_PREFIX}/lib"
diff --git a/pkgs/development/libraries/openldap/default.nix b/pkgs/development/libraries/openldap/default.nix
index 00b4139dc7cb..a99cc51de4a3 100644
--- a/pkgs/development/libraries/openldap/default.nix
+++ b/pkgs/development/libraries/openldap/default.nix
@@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
   };
 
   # TODO: separate "out" and "bin"
-  outputs = [ "dev" "out" "man" "docdev" ];
+  outputs = [ "out" "dev" "man" "devdoc" ];
+
+  enableParallelBuilding = true;
 
   buildInputs = [ openssl cyrus_sasl db groff ];
 
@@ -20,13 +22,18 @@ stdenv.mkDerivation rec {
       ++ stdenv.lib.optional (cyrus_sasl == null) "--without-cyrus-sasl"
       ++ stdenv.lib.optional stdenv.isFreeBSD "--with-pic";
 
-  dontPatchELF = 1; # !!!
-
-  # Fixup broken libtool
+  # 1. Fixup broken libtool
+  # 2. Libraries left in the build location confuse `patchelf --shrink-rpath`
+  #    Delete these to let patchelf discover the right path instead.
+  #    FIXME: that one can be removed when https://github.com/NixOS/patchelf/pull/98
+  #    is in Nixpkgs patchelf.
   preFixup = ''
     sed -e 's,-lsasl2,-L${cyrus_sasl.out}/lib -lsasl2,' \
         -e 's,-lssl,-L${openssl.out}/lib -lssl,' \
         -i $out/lib/libldap.la -i $out/lib/libldap_r.la
+
+    rm -rf $out/var
+    rm -r libraries/*/.libs
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 9a97eaaff090..c7ab69e5169d 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -42,6 +42,10 @@ in stdenv.mkDerivation rec {
     patchShebangs ompi/mpi/fortran/base/gen-mpi-sizeof.pl
   '';
 
+  postInstall = ''
+		rm -f $out/lib/*.la
+   '';
+
   meta = {
     homepage = http://www.open-mpi.org/;
     description = "Open source MPI-2 implementation";
diff --git a/pkgs/development/libraries/openscenegraph/default.nix b/pkgs/development/libraries/openscenegraph/default.nix
index 1b69563355bc..975bcc3d3089 100644
--- a/pkgs/development/libraries/openscenegraph/default.nix
+++ b/pkgs/development/libraries/openscenegraph/default.nix
@@ -2,7 +2,7 @@
 , libpng, coin3d, jasper, gdal_1_11, xproto, libX11, libXmu
 , freeglut, mesa, doxygen, ffmpeg, xineLib, unzip, zlib, openal
 , libxml2, curl, a52dec, faad2, gdk_pixbuf, pkgconfig, kbproto, SDL
-, qt4, poppler, librsvg, gtk
+, qt4, poppler, librsvg, gtk2
 , withApps ? true }:
 
 stdenv.mkDerivation rec {
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cmake giflib libjpeg libtiff lib3ds freetype libpng coin3d jasper
     gdal_1_11 xproto libX11 libXmu freeglut mesa doxygen ffmpeg
     xineLib unzip zlib openal libxml2 curl a52dec faad2 gdk_pixbuf
-    pkgconfig kbproto SDL qt4 poppler librsvg gtk
+    pkgconfig kbproto SDL qt4 poppler librsvg gtk2
   ];
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/openssl/1.0.1-CVE-2016-2177.diff b/pkgs/development/libraries/openssl/1.0.1-CVE-2016-2177.diff
new file mode 100644
index 000000000000..f8a4b7c22573
--- /dev/null
+++ b/pkgs/development/libraries/openssl/1.0.1-CVE-2016-2177.diff
@@ -0,0 +1,256 @@
+From 6f35f6deb5ca7daebe289f86477e061ce3ee5f46 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Thu, 5 May 2016 11:10:26 +0100
+Subject: [PATCH] Avoid some undefined pointer arithmetic
+
+A common idiom in the codebase is:
+
+if (p + len > limit)
+{
+    return; /* Too long */
+}
+
+Where "p" points to some malloc'd data of SIZE bytes and
+limit == p + SIZE
+
+"len" here could be from some externally supplied data (e.g. from a TLS
+message).
+
+The rules of C pointer arithmetic are such that "p + len" is only well
+defined where len <= SIZE. Therefore the above idiom is actually
+undefined behaviour.
+
+For example this could cause problems if some malloc implementation
+provides an address for "p" such that "p + len" actually overflows for
+values of len that are too big and therefore p + len < limit!
+
+Issue reported by Guido Vranken.
+
+CVE-2016-2177
+
+Reviewed-by: Rich Salz <rsalz@openssl.org>
+---
+ ssl/s3_srvr.c  | 14 +++++++-------
+ ssl/ssl_sess.c |  2 +-
+ ssl/t1_lib.c   | 48 ++++++++++++++++++++++++++----------------------
+ 3 files changed, 34 insertions(+), 30 deletions(-)
+
+diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
+index 04cf93a..6c74caa 100644
+--- a/ssl/s3_srvr.c
++++ b/ssl/s3_srvr.c
+@@ -1040,7 +1040,7 @@ int ssl3_get_client_hello(SSL *s)
+ 
+         session_length = *(p + SSL3_RANDOM_SIZE);
+ 
+-        if (p + SSL3_RANDOM_SIZE + session_length + 1 >= d + n) {
++        if (SSL3_RANDOM_SIZE + session_length + 1 >= (d + n) - p) {
+             al = SSL_AD_DECODE_ERROR;
+             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+             goto f_err;
+@@ -1058,7 +1058,7 @@ int ssl3_get_client_hello(SSL *s)
+     /* get the session-id */
+     j = *(p++);
+ 
+-    if (p + j > d + n) {
++    if ((d + n) - p < j) {
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+         goto f_err;
+@@ -1114,14 +1114,14 @@ int ssl3_get_client_hello(SSL *s)
+ 
+     if (s->version == DTLS1_VERSION || s->version == DTLS1_BAD_VER) {
+         /* cookie stuff */
+-        if (p + 1 > d + n) {
++        if ((d + n) - p < 1) {
+             al = SSL_AD_DECODE_ERROR;
+             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+             goto f_err;
+         }
+         cookie_len = *(p++);
+ 
+-        if (p + cookie_len > d + n) {
++        if ((d + n ) - p < cookie_len) {
+             al = SSL_AD_DECODE_ERROR;
+             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+             goto f_err;
+@@ -1166,7 +1166,7 @@ int ssl3_get_client_hello(SSL *s)
+         p += cookie_len;
+     }
+ 
+-    if (p + 2 > d + n) {
++    if ((d + n ) - p < 2) {
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+         goto f_err;
+@@ -1180,7 +1180,7 @@ int ssl3_get_client_hello(SSL *s)
+     }
+ 
+     /* i bytes of cipher data + 1 byte for compression length later */
+-    if ((p + i + 1) > (d + n)) {
++    if ((d + n) - p < i + 1) {
+         /* not enough data */
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH);
+@@ -1246,7 +1246,7 @@ int ssl3_get_client_hello(SSL *s)
+ 
+     /* compression */
+     i = *(p++);
+-    if ((p + i) > (d + n)) {
++    if ((d + n) - p < i) {
+         /* not enough data */
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH);
+diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
+index 48fc451..a97d060 100644
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -602,7 +602,7 @@ int ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
+     int r;
+ #endif
+ 
+-    if (session_id + len > limit) {
++    if (limit - session_id < len) {
+         fatal = 1;
+         goto err;
+     }
+diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
+index 0bdb77d..8ed1793 100644
+--- a/ssl/t1_lib.c
++++ b/ssl/t1_lib.c
+@@ -942,11 +942,11 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+         0x02, 0x03,             /* SHA-1/ECDSA */
+     };
+ 
+-    if (data >= (limit - 2))
++    if (limit - data <= 2)
+         return;
+     data += 2;
+ 
+-    if (data > (limit - 4))
++    if (limit - data < 4)
+         return;
+     n2s(data, type);
+     n2s(data, size);
+@@ -954,7 +954,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+     if (type != TLSEXT_TYPE_server_name)
+         return;
+ 
+-    if (data + size > limit)
++    if (limit - data < size)
+         return;
+     data += size;
+ 
+@@ -962,7 +962,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+         const size_t len1 = sizeof(kSafariExtensionsBlock);
+         const size_t len2 = sizeof(kSafariTLS12ExtensionsBlock);
+ 
+-        if (data + len1 + len2 != limit)
++        if (limit - data != (int)(len1 + len2))
+             return;
+         if (memcmp(data, kSafariExtensionsBlock, len1) != 0)
+             return;
+@@ -971,7 +971,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+     } else {
+         const size_t len = sizeof(kSafariExtensionsBlock);
+ 
+-        if (data + len != limit)
++        if (limit - data != (int)(len))
+             return;
+         if (memcmp(data, kSafariExtensionsBlock, len) != 0)
+             return;
+@@ -1019,19 +1019,19 @@ int ssl_parse_clienthello_tlsext(SSL *s, unsigned char **p,
+     if (data == limit)
+         goto ri_check;
+ 
+-    if (data > (limit - 2))
++    if (limit - data < 2)
+         goto err;
+ 
+     n2s(data, len);
+ 
+-    if (data + len != limit)
++    if (limit - data != len)
+         goto err;
+ 
+-    while (data <= (limit - 4)) {
++    while (limit - data >= 4) {
+         n2s(data, type);
+         n2s(data, size);
+ 
+-        if (data + size > (limit))
++        if (limit - data < size)
+             goto err;
+ # if 0
+         fprintf(stderr, "Received extension type %d size %d\n", type, size);
+@@ -1460,20 +1460,20 @@ int ssl_parse_serverhello_tlsext(SSL *s, unsigned char **p, unsigned char *d,
+                              SSL_TLSEXT_HB_DONT_SEND_REQUESTS);
+ # endif
+ 
+-    if (data >= (d + n - 2))
++    if ((d + n) - data <= 2)
+         goto ri_check;
+ 
+     n2s(data, length);
+-    if (data + length != d + n) {
++    if ((d + n) - data != length) {
+         *al = SSL_AD_DECODE_ERROR;
+         return 0;
+     }
+ 
+-    while (data <= (d + n - 4)) {
++    while ((d + n) - data >= 4) {
+         n2s(data, type);
+         n2s(data, size);
+ 
+-        if (data + size > (d + n))
++        if ((d + n) - data < size)
+             goto ri_check;
+ 
+         if (s->tlsext_debug_cb)
+@@ -2179,29 +2179,33 @@ int tls1_process_ticket(SSL *s, unsigned char *session_id, int len,
+     /* Skip past DTLS cookie */
+     if (s->version == DTLS1_VERSION || s->version == DTLS1_BAD_VER) {
+         i = *(p++);
+-        p += i;
+-        if (p >= limit)
++
++        if (limit - p <= i)
+             return -1;
++
++        p += i;
+     }
+     /* Skip past cipher list */
+     n2s(p, i);
+-    p += i;
+-    if (p >= limit)
++    if (limit - p <= i)
+         return -1;
++    p += i;
++
+     /* Skip past compression algorithm list */
+     i = *(p++);
+-    p += i;
+-    if (p > limit)
++    if (limit - p < i)
+         return -1;
++    p += i;
++
+     /* Now at start of extensions */
+-    if ((p + 2) >= limit)
++    if (limit - p <= 2)
+         return 0;
+     n2s(p, i);
+-    while ((p + 4) <= limit) {
++    while (limit - p >= 4) {
+         unsigned short type, size;
+         n2s(p, type);
+         n2s(p, size);
+-        if (p + size > limit)
++        if (limit - p < size)
+             return 0;
+         if (type == TLSEXT_TYPE_session_ticket) {
+             int r;
+-- 
+1.9.1
+
diff --git a/pkgs/development/libraries/openssl/1.0.2-CVE-2016-2177.diff b/pkgs/development/libraries/openssl/1.0.2-CVE-2016-2177.diff
new file mode 100644
index 000000000000..ca934c20a674
--- /dev/null
+++ b/pkgs/development/libraries/openssl/1.0.2-CVE-2016-2177.diff
@@ -0,0 +1,279 @@
+From a004e72b95835136d3f1ea90517f706c24c03da7 Mon Sep 17 00:00:00 2001
+From: Matt Caswell <matt@openssl.org>
+Date: Thu, 5 May 2016 11:10:26 +0100
+Subject: [PATCH] Avoid some undefined pointer arithmetic
+
+A common idiom in the codebase is:
+
+if (p + len > limit)
+{
+    return; /* Too long */
+}
+
+Where "p" points to some malloc'd data of SIZE bytes and
+limit == p + SIZE
+
+"len" here could be from some externally supplied data (e.g. from a TLS
+message).
+
+The rules of C pointer arithmetic are such that "p + len" is only well
+defined where len <= SIZE. Therefore the above idiom is actually
+undefined behaviour.
+
+For example this could cause problems if some malloc implementation
+provides an address for "p" such that "p + len" actually overflows for
+values of len that are too big and therefore p + len < limit!
+
+Issue reported by Guido Vranken.
+
+CVE-2016-2177
+
+Reviewed-by: Rich Salz <rsalz@openssl.org>
+---
+ ssl/s3_srvr.c  | 14 +++++++-------
+ ssl/ssl_sess.c |  2 +-
+ ssl/t1_lib.c   | 56 ++++++++++++++++++++++++++++++--------------------------
+ 3 files changed, 38 insertions(+), 34 deletions(-)
+
+diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
+index ab28702..ab7f690 100644
+--- a/ssl/s3_srvr.c
++++ b/ssl/s3_srvr.c
+@@ -980,7 +980,7 @@ int ssl3_get_client_hello(SSL *s)
+ 
+         session_length = *(p + SSL3_RANDOM_SIZE);
+ 
+-        if (p + SSL3_RANDOM_SIZE + session_length + 1 >= d + n) {
++        if (SSL3_RANDOM_SIZE + session_length + 1 >= (d + n) - p) {
+             al = SSL_AD_DECODE_ERROR;
+             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+             goto f_err;
+@@ -998,7 +998,7 @@ int ssl3_get_client_hello(SSL *s)
+     /* get the session-id */
+     j = *(p++);
+ 
+-    if (p + j > d + n) {
++    if ((d + n) - p < j) {
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+         goto f_err;
+@@ -1054,14 +1054,14 @@ int ssl3_get_client_hello(SSL *s)
+ 
+     if (SSL_IS_DTLS(s)) {
+         /* cookie stuff */
+-        if (p + 1 > d + n) {
++        if ((d + n) - p < 1) {
+             al = SSL_AD_DECODE_ERROR;
+             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+             goto f_err;
+         }
+         cookie_len = *(p++);
+ 
+-        if (p + cookie_len > d + n) {
++        if ((d + n ) - p < cookie_len) {
+             al = SSL_AD_DECODE_ERROR;
+             SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+             goto f_err;
+@@ -1131,7 +1131,7 @@ int ssl3_get_client_hello(SSL *s)
+         }
+     }
+ 
+-    if (p + 2 > d + n) {
++    if ((d + n ) - p < 2) {
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_TOO_SHORT);
+         goto f_err;
+@@ -1145,7 +1145,7 @@ int ssl3_get_client_hello(SSL *s)
+     }
+ 
+     /* i bytes of cipher data + 1 byte for compression length later */
+-    if ((p + i + 1) > (d + n)) {
++    if ((d + n) - p < i + 1) {
+         /* not enough data */
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH);
+@@ -1211,7 +1211,7 @@ int ssl3_get_client_hello(SSL *s)
+ 
+     /* compression */
+     i = *(p++);
+-    if ((p + i) > (d + n)) {
++    if ((d + n) - p < i) {
+         /* not enough data */
+         al = SSL_AD_DECODE_ERROR;
+         SSLerr(SSL_F_SSL3_GET_CLIENT_HELLO, SSL_R_LENGTH_MISMATCH);
+diff --git a/ssl/ssl_sess.c b/ssl/ssl_sess.c
+index b182998..54ee783 100644
+--- a/ssl/ssl_sess.c
++++ b/ssl/ssl_sess.c
+@@ -573,7 +573,7 @@ int ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
+     int r;
+ #endif
+ 
+-    if (session_id + len > limit) {
++    if (limit - session_id < len) {
+         fatal = 1;
+         goto err;
+     }
+diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
+index fb64607..cdac011 100644
+--- a/ssl/t1_lib.c
++++ b/ssl/t1_lib.c
+@@ -1867,11 +1867,11 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+         0x02, 0x03,             /* SHA-1/ECDSA */
+     };
+ 
+-    if (data >= (limit - 2))
++    if (limit - data <= 2)
+         return;
+     data += 2;
+ 
+-    if (data > (limit - 4))
++    if (limit - data < 4)
+         return;
+     n2s(data, type);
+     n2s(data, size);
+@@ -1879,7 +1879,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+     if (type != TLSEXT_TYPE_server_name)
+         return;
+ 
+-    if (data + size > limit)
++    if (limit - data < size)
+         return;
+     data += size;
+ 
+@@ -1887,7 +1887,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+         const size_t len1 = sizeof(kSafariExtensionsBlock);
+         const size_t len2 = sizeof(kSafariTLS12ExtensionsBlock);
+ 
+-        if (data + len1 + len2 != limit)
++        if (limit - data != (int)(len1 + len2))
+             return;
+         if (memcmp(data, kSafariExtensionsBlock, len1) != 0)
+             return;
+@@ -1896,7 +1896,7 @@ static void ssl_check_for_safari(SSL *s, const unsigned char *data,
+     } else {
+         const size_t len = sizeof(kSafariExtensionsBlock);
+ 
+-        if (data + len != limit)
++        if (limit - data != (int)(len))
+             return;
+         if (memcmp(data, kSafariExtensionsBlock, len) != 0)
+             return;
+@@ -2053,19 +2053,19 @@ static int ssl_scan_clienthello_tlsext(SSL *s, unsigned char **p,
+     if (data == limit)
+         goto ri_check;
+ 
+-    if (data > (limit - 2))
++    if (limit - data < 2)
+         goto err;
+ 
+     n2s(data, len);
+ 
+-    if (data + len != limit)
++    if (limit - data != len)
+         goto err;
+ 
+-    while (data <= (limit - 4)) {
++    while (limit - data >= 4) {
+         n2s(data, type);
+         n2s(data, size);
+ 
+-        if (data + size > (limit))
++        if (limit - data < size)
+             goto err;
+ # if 0
+         fprintf(stderr, "Received extension type %d size %d\n", type, size);
+@@ -2472,18 +2472,18 @@ static int ssl_scan_clienthello_custom_tlsext(SSL *s,
+     if (s->hit || s->cert->srv_ext.meths_count == 0)
+         return 1;
+ 
+-    if (data >= limit - 2)
++    if (limit - data <= 2)
+         return 1;
+     n2s(data, len);
+ 
+-    if (data > limit - len)
++    if (limit - data < len)
+         return 1;
+ 
+-    while (data <= limit - 4) {
++    while (limit - data >= 4) {
+         n2s(data, type);
+         n2s(data, size);
+ 
+-        if (data + size > limit)
++        if (limit - data < size)
+             return 1;
+         if (custom_ext_parse(s, 1 /* server */ , type, data, size, al) <= 0)
+             return 0;
+@@ -2569,20 +2569,20 @@ static int ssl_scan_serverhello_tlsext(SSL *s, unsigned char **p,
+                              SSL_TLSEXT_HB_DONT_SEND_REQUESTS);
+ # endif
+ 
+-    if (data >= (d + n - 2))
++    if ((d + n) - data <= 2)
+         goto ri_check;
+ 
+     n2s(data, length);
+-    if (data + length != d + n) {
++    if ((d + n) - data != length) {
+         *al = SSL_AD_DECODE_ERROR;
+         return 0;
+     }
+ 
+-    while (data <= (d + n - 4)) {
++    while ((d + n) - data >= 4) {
+         n2s(data, type);
+         n2s(data, size);
+ 
+-        if (data + size > (d + n))
++        if ((d + n) - data < size)
+             goto ri_check;
+ 
+         if (s->tlsext_debug_cb)
+@@ -3307,29 +3307,33 @@ int tls1_process_ticket(SSL *s, unsigned char *session_id, int len,
+     /* Skip past DTLS cookie */
+     if (SSL_IS_DTLS(s)) {
+         i = *(p++);
+-        p += i;
+-        if (p >= limit)
++
++        if (limit - p <= i)
+             return -1;
++
++        p += i;
+     }
+     /* Skip past cipher list */
+     n2s(p, i);
+-    p += i;
+-    if (p >= limit)
++    if (limit - p <= i)
+         return -1;
++    p += i;
++
+     /* Skip past compression algorithm list */
+     i = *(p++);
+-    p += i;
+-    if (p > limit)
++    if (limit - p < i)
+         return -1;
++    p += i;
++
+     /* Now at start of extensions */
+-    if ((p + 2) >= limit)
++    if (limit - p <= 2)
+         return 0;
+     n2s(p, i);
+-    while ((p + 4) <= limit) {
++    while (limit - p >= 4) {
+         unsigned short type, size;
+         n2s(p, type);
+         n2s(p, size);
+-        if (p + size > limit)
++        if (limit - p < size)
+             return 0;
+         if (type == TLSEXT_TYPE_session_ticket) {
+             int r;
+-- 
+1.9.1
+
diff --git a/pkgs/development/libraries/openssl/chacha.nix b/pkgs/development/libraries/openssl/chacha.nix
index 8187fcedabf1..347217006528 100644
--- a/pkgs/development/libraries/openssl/chacha.nix
+++ b/pkgs/development/libraries/openssl/chacha.nix
@@ -5,16 +5,16 @@
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "openssl-chacha-${version}";
-  version = "2016-01-27";
+  version = "2016-08-22";
 
   src = fetchFromGitHub {
     owner = "PeterMosmans";
     repo = "openssl";
-    rev = "4576ede5b08242bcd6749fc284c691ed177842b7";
-    sha256 = "1030rs4bdaysxbq0mmck1dn6g5adspzkwsrnhvv16b4ig0r4ncgj";
+    rev = "293717318e903b95f4d7e83a98a087282f37efc3";
+    sha256 = "134j3anjnj2q99xsd8d47bwvjp73qkdsimdd9riyjxa3hd8ysr00";
   };
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
   setOutputFlags = false;
 
   nativeBuildInputs = [ perl zlib ];
diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix
index d1796480f527..c023965c0f63 100644
--- a/pkgs/development/libraries/openssl/default.nix
+++ b/pkgs/development/libraries/openssl/default.nix
@@ -8,7 +8,7 @@ let
   opensslCrossSystem = stdenv.cross.openssl.system or
     (throw "openssl needs its platform name cross building");
 
-  common = { version, sha256 }: stdenv.mkDerivation rec {
+  common = args@{ version, sha256, patches ? [] }: stdenv.mkDerivation rec {
     name = "openssl-${version}";
 
     src = fetchurl {
@@ -17,13 +17,14 @@ let
     };
 
     patches =
-      optional (versionOlder version "1.1.0") ./use-etc-ssl-certs.patch
+      (args.patches or [])
+      ++ optional (versionOlder version "1.1.0") ./use-etc-ssl-certs.patch
       ++ optional stdenv.isCygwin ./1.0.1-cygwin64.patch
       ++ optional
            (versionOlder version "1.0.2" && (stdenv.isDarwin || (stdenv ? cross && stdenv.cross.libc == "libSystem")))
            ./darwin-arch.patch;
 
-  outputs = [ "dev" "out" "man" "bin" ];
+  outputs = [ "bin" "dev" "out" "man" ];
   setOutputFlags = false;
 
     nativeBuildInputs = [ perl ];
@@ -107,11 +108,19 @@ in {
   openssl_1_0_1 = common {
     version = "1.0.1t";
     sha256 = "4a6ee491a2fdb22e519c76fdc2a628bb3cec12762cd456861d207996c8a07088";
+    patches = [
+      # https://git.openssl.org/?p=openssl.git;a=commit;h=6f35f6deb5ca7daebe289f86477e061ce3ee5f46
+      ./1.0.1-CVE-2016-2177.diff
+    ];
   };
 
   openssl_1_0_2 = common {
     version = "1.0.2h";
     sha256 = "1d4007e53aad94a5b2002fe045ee7bb0b3d98f1a47f8b2bc851dcd1c74332919";
+    patches = [
+      # https://git.openssl.org/?p=openssl.git;a=commit;h=a004e72b95835136d3f1ea90517f706c24c03da7
+      ./1.0.2-CVE-2016-2177.diff
+    ];
   };
 
   openssl_1_1_0 = common {
diff --git a/pkgs/development/libraries/opensubdiv/default.nix b/pkgs/development/libraries/opensubdiv/default.nix
index c9bf9a725030..b253a27a7db3 100644
--- a/pkgs/development/libraries/opensubdiv/default.nix
+++ b/pkgs/development/libraries/opensubdiv/default.nix
@@ -1,17 +1,19 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa, glew
+{ lib, stdenv, fetchurl, fetchFromGitHub, cmake, pkgconfig, xorg, mesa_glu, mesa_noglu, glew
 , cudaSupport ? false, cudatoolkit
 }:
 
 stdenv.mkDerivation {
-  name = "opensubdiv-3.0.4";
+  name = "opensubdiv-3.0.5";
 
   src = fetchFromGitHub {
     owner = "PixarAnimationStudios";
     repo = "OpenSubdiv";
-    rev = "v3_0_4";
-    sha256 = "14ylpzk4121gi3fl02dwmqjp5sbaqpkm4gd0lh6jijccdih0xsc0";
+    rev = "v3_0_5";
+    sha256 = "16xv4cw1k75wgd4ddr0sa87wd46ygbn2k2avh9c1mfd405p80d92";
   };
 
+  outputs = [ "out" "dev" ];
+
   patches =
     [ # Fix for building with cudatoolkit 7.
       (fetchurl {
@@ -21,7 +23,7 @@ stdenv.mkDerivation {
     ];
 
   buildInputs =
-    [ cmake pkgconfig mesa
+    [ cmake pkgconfig mesa_glu mesa_noglu
       # FIXME: these are not actually needed, but the configure script wants them.
       glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor xorg.libXinerama
     ]
@@ -37,6 +39,8 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
+  postInstall = "rm $out/lib/*.a";
+
   meta = {
     description = "An Open-Source subdivision surface library";
     homepage = http://graphics.pixar.com/opensubdiv;
diff --git a/pkgs/development/libraries/ortp/default.nix b/pkgs/development/libraries/ortp/default.nix
index 15bd39a031f3..f05811f34813 100644
--- a/pkgs/development/libraries/ortp/default.nix
+++ b/pkgs/development/libraries/ortp/default.nix
@@ -1,14 +1,20 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, cmake, fetchFromGitHub, bctoolbox }:
 
 stdenv.mkDerivation rec {
-  name = "ortp-${version}";
-  version = "0.25.0";
+  baseName = "ortp";
+  version = "0.27.0";
+  name = "${baseName}-${version}";
 
-  src = fetchurl {
-    url = "mirror://savannah/linphone/ortp/sources/${name}.tar.gz";
-    sha256 = "16ldzrn1268dr6kdl8mibg2knd6w75a1v0iqfsgk5zdig5mq5sqd";
+  src = fetchFromGitHub {
+    owner = "BelledonneCommunications";
+    repo = "${baseName}";
+    rev = "${version}";
+    sha256 = "0gjaaph4pamay9gn1yn7ky5wyzhj93r53rwak7h8s48vf08fqyv7";
   };
 
+  buildInputs = [ bctoolbox ];
+  nativeBuildInputs = [ cmake ];
+
   meta = with stdenv.lib; {
     description = "A Real-Time Transport Protocol (RFC3550) stack";
     homepage = http://www.linphone.org/index.php/eng/code_review/ortp;
diff --git a/pkgs/development/libraries/osm-gps-map/default.nix b/pkgs/development/libraries/osm-gps-map/default.nix
index 7dc8b8c6112d..63c882076b9d 100644
--- a/pkgs/development/libraries/osm-gps-map/default.nix
+++ b/pkgs/development/libraries/osm-gps-map/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     sha256 = "0fal3mqcf3yypir4f7njz0dm5wr7lqwpimjx28wz9imh48cqx9n9";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = [ pkgconfig ];
 
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index e08e7c06815e..fc63c1942c23 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "1w7szm190phlkg7qx05ychlj2dbvkgkhx9gw6dx4d5rw62l6wwms";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
   outputBin = "dev";
 
   buildInputs = [ pkgconfig libffi libtasn1 libiconv ];
diff --git a/pkgs/development/libraries/pango/default.nix b/pkgs/development/libraries/pango/default.nix
index 105bfa1627be..b2915d1c2407 100644
--- a/pkgs/development/libraries/pango/default.nix
+++ b/pkgs/development/libraries/pango/default.nix
@@ -6,17 +6,17 @@ with stdenv.lib;
 
 let
   ver_maj = "1.40";
-  ver_min = "1";
+  ver_min = "2";
 in
 stdenv.mkDerivation rec {
   name = "pango-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/pango/${ver_maj}/${name}.tar.xz";
-    sha256 = "e27af54172c72b3ac6be53c9a4c67053e16c905e02addcf3a603ceb2005c1a40";
+    sha256 = "90582a02bc89318d205814fc097f2e9dd164d26da5f27c53ea42d583b34c3cd1";
   };
 
-  outputs = [ "dev" "out" "bin" "docdev" ];
+  outputs = [ "bin" "dev" "out" "devdoc" ];
 
   buildInputs = [ gobjectIntrospection ];
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/pcaudiolib/default.nix b/pkgs/development/libraries/pcaudiolib/default.nix
new file mode 100644
index 000000000000..ccb7d4179df4
--- /dev/null
+++ b/pkgs/development/libraries/pcaudiolib/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib, fetchFromGitHub, autoconf, automake, which, libtool, pkgconfig,
+  alsaLib, portaudio, 
+  pulseaudioSupport ? true, libpulseaudio }:
+
+stdenv.mkDerivation rec {
+  name = "pcaudiolib-${version}";
+  version = "2016-07-19";
+
+  src = fetchFromGitHub {
+    owner = "rhdunn";
+    repo = "pcaudiolib";
+    rev = "4f836ea909bdaa8a6e0e89c587efc745b546b459";
+    sha256 = "0z99nh4ibb9md2cd21762n1dmv6jk988785s1cxd8lsy4hp4pwfa";
+  };
+
+  nativeBuildInputs = [ autoconf automake which libtool pkgconfig ];
+
+  buildInputs = [ portaudio alsaLib ] ++ lib.optional pulseaudioSupport libpulseaudio;
+
+  preConfigure = "./autogen.sh";
+
+  meta = with stdenv.lib; {
+    description = "Provides a C API to different audio devices";
+    homepage = "https://github.com/rhdunn/pcaudiolib";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ aske ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/pcre/default.nix b/pkgs/development/libraries/pcre/default.nix
index 7b43845d23f7..7e2bec80c3ca 100644
--- a/pkgs/development/libraries/pcre/default.nix
+++ b/pkgs/development/libraries/pcre/default.nix
@@ -24,7 +24,7 @@ in stdenv.mkDerivation rec {
     ./CVE-2016-1283.patch
   ];
 
-  outputs = [ "dev" "out" "bin" "doc" "man" ];
+  outputs = [ "bin" "dev" "out" "doc" "man" ];
 
   configureFlags = [
     "--enable-jit"
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 447b8fe15ec0..d226a51d0f8e 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -1,10 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "pcre2-10.21";
+  name = "pcre2-${version}";
+  version = "10.22";
   src = fetchurl {
     url = "ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${name}.tar.bz2";
-    sha256 = "1q6lrj9b08l1q39vxipb0fi88x6ybvkr6439h8bjb9r8jd81fsn6";
+    sha256 = "05pl338962d7syd1rbkg96916mq7d3amz1n2fjnm0v5cyhcldd5j";
   };
 
   configureFlags = [
@@ -13,11 +14,17 @@ stdenv.mkDerivation rec {
     "--enable-jit"
   ];
 
-  meta = {
-	description = "Perl Compatible Regular Expressions";
+  outputs = [ "bin" "dev" "out" "doc" "man" "devdoc" ];
+
+  postFixup = ''
+    moveToOutput bin/pcre2-config "$dev"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Perl Compatible Regular Expressions";
     homepage = "http://www.pcre.org/";
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [ stdenv.lib.maintainers.ttuegel ];
-    platforms = stdenv.lib.platforms.all;
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ttuegel ];
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/pdf2xml/default.nix b/pkgs/development/libraries/pdf2xml/default.nix
index 52c785becc52..c4cb57f3fa22 100644
--- a/pkgs/development/libraries/pdf2xml/default.nix
+++ b/pkgs/development/libraries/pdf2xml/default.nix
@@ -2,20 +2,22 @@
 
 stdenv.mkDerivation {
   name = "pdf2xml";
-  
+
   src = fetchurl {
       url = http://tarballs.nixos.org/pdf2xml.tar.gz;
       sha256 = "04rl7ppxqgnvxvvws669cxp478lnrdmiqj0g3m4p69bawfjc4z3w";
   };
   sourceRoot = "pdf2xml/pdf2xml";
-  
+
   buildInputs = [libxml2 libxpdf];
 
   patches = [./pdf2xml.patch];
 
+  hardeningDisable = [ "format" ];
+
   preBuild = ''
     cp Makefile.linux Makefile
-  
+
     sed -i 's|/usr/include/libxml2|${libxml2.dev}/include/libxml2|' Makefile
     sed -i 's|-lxml2|-lxml2 -L${libxml2.out}/lib|' Makefile
     sed -i 's|XPDF = xpdf_3.01|XPDF = ${libxpdf}/lib|' Makefile
@@ -24,7 +26,7 @@ stdenv.mkDerivation {
 
     buildFlags+=" CXX=$CXX"
   '';
-  
+
   installPhase = ''
     mkdir -p $out/bin
     cp exe/* $out/bin
diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix
index 51e59fda5ac1..4030be2996cc 100644
--- a/pkgs/development/libraries/plib/default.nix
+++ b/pkgs/development/libraries/plib/default.nix
@@ -1,6 +1,5 @@
 { fetchurl, fetchpatch, stdenv, mesa, freeglut, SDL
-, libXi, libSM, libXmu, libXext, libX11,
-enablePIC ? false }:
+, libXi, libSM, libXmu, libXext, libX11 }:
 
 stdenv.mkDerivation rec {
   name = "plib-1.8.5";
@@ -22,8 +21,6 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  NIX_CFLAGS_COMPILE = if enablePIC then "-fPIC" else "";
-
   propagatedBuildInputs = [
     mesa freeglut SDL
 
diff --git a/pkgs/development/libraries/polkit-qt-1/qt-5.nix b/pkgs/development/libraries/polkit-qt-1/qt-5.nix
index 3c69c71d017f..f6cbf7e972b3 100644
--- a/pkgs/development/libraries/polkit-qt-1/qt-5.nix
+++ b/pkgs/development/libraries/polkit-qt-1/qt-5.nix
@@ -5,7 +5,7 @@ with stdenv.lib;
 stdenv.mkDerivation {
   name = "polkit-qt-1-qt5-0.112.0";
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2";
diff --git a/pkgs/development/libraries/polkit/default.nix b/pkgs/development/libraries/polkit/default.nix
index 5744460008fd..ab1943b85909 100644
--- a/pkgs/development/libraries/polkit/default.nix
+++ b/pkgs/development/libraries/polkit/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     sha256 = "109w86kfqrgz83g9ivggplmgc77rz8kx8646izvm2jb57h4rbh71";
   };
 
-  outputs = [ "dev" "out" "bin" ]; # small man pages in $bin
+  outputs = [ "bin" "dev" "out" ]; # small man pages in $bin
 
   buildInputs =
     [ pkgconfig glib expat pam intltool spidermonkey gobjectIntrospection ]
diff --git a/pkgs/development/libraries/poppler/default.nix b/pkgs/development/libraries/poppler/default.nix
index 207b7a2ffab1..fd3c063ed904 100644
--- a/pkgs/development/libraries/poppler/default.nix
+++ b/pkgs/development/libraries/poppler/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     inherit sha256;
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [ libiconv ] ++ libintlOrEmpty ++ lib.optional withData poppler_data;
 
@@ -34,6 +34,8 @@ stdenv.mkDerivation rec {
 
   NIX_CFLAGS_COMPILE = [ "-DQT_NO_DEBUG" ];
 
+  CXXFLAGS = lib.optional qt5Support "-std=c++11";
+
   configureFlags = with lib;
     [
       "--enable-xpdf-headers"
diff --git a/pkgs/development/libraries/portmidi/default.nix b/pkgs/development/libraries/portmidi/default.nix
index 6ca35ab3c570..5318df445170 100644
--- a/pkgs/development/libraries/portmidi/default.nix
+++ b/pkgs/development/libraries/portmidi/default.nix
@@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ unzip cmake /*jdk*/ alsaLib ];
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     homepage = "http://portmedia.sourceforge.net/portmidi/";
     description = "Platform independent library for MIDI I/O";
diff --git a/pkgs/development/libraries/pupnp/default.nix b/pkgs/development/libraries/pupnp/default.nix
index 9d47b5575515..2138e1689b39 100644
--- a/pkgs/development/libraries/pupnp/default.nix
+++ b/pkgs/development/libraries/pupnp/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0amjv4lypvclmi4vim2qdyw5xa6v4x50zjgf682vahqjc0wjn55k";
   };
 
+  hardeningDisable = [ "fortify" ];
+
   meta = {
     description = "libupnp, an open source UPnP development kit for Linux";
 
diff --git a/pkgs/development/libraries/qhull/default.nix b/pkgs/development/libraries/qhull/default.nix
index 58d11c04fcca..829765d85499 100644
--- a/pkgs/development/libraries/qhull/default.nix
+++ b/pkgs/development/libraries/qhull/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
 
   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
diff --git a/pkgs/development/libraries/qt-3/default.nix b/pkgs/development/libraries/qt-3/default.nix
index 949f3f5b7786..6d92de001cb7 100644
--- a/pkgs/development/libraries/qt-3/default.nix
+++ b/pkgs/development/libraries/qt-3/default.nix
@@ -32,6 +32,8 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ which ];
   propagatedBuildInputs = [libpng xlibsWrapper libXft libXrender zlib libjpeg];
 
+  hardeningDisable = [ "format" ];
+
   configureFlags = "
     -v
     -system-zlib -system-libpng -system-libjpeg
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 65d45923e5a5..a93ae2fc8adf 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -6,7 +6,7 @@
 , buildMultimedia ? stdenv.isLinux, alsaLib, gstreamer, gst_plugins_base
 , buildWebkit ? stdenv.isLinux
 , flashplayerFix ? false, gdk_pixbuf
-, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
+, gtkStyle ? false, libgnomeui, gtk2, GConf, gnome_vfs
 , developerBuild ? false
 , docs ? false
 , examples ? false
@@ -65,13 +65,13 @@ stdenv.mkDerivation rec {
         src = ./dlopen-gtkstyle.diff;
         # substituteAll ignores env vars starting with capital letter
         gconf = GConf.out;
-        gtk = gtk.out;
+        gtk = gtk2.out;
         libgnomeui = libgnomeui.out;
         gnome_vfs = gnome_vfs.out;
       })
     ++ stdenv.lib.optional flashplayerFix (substituteAll {
         src = ./dlopen-webkit-nsplugin.diff;
-        gtk = gtk.out;
+        gtk = gtk2.out;
         gdk_pixbuf = gdk_pixbuf.out;
       })
     ++ [(fetchpatch {
@@ -131,7 +131,7 @@ stdenv.mkDerivation rec {
     [ cups # Qt dlopen's libcups instead of linking to it
       postgresql sqlite libjpeg libmng libtiff icu ]
     ++ optionals (mysql != null) [ mysql.lib ]
-    ++ optionals gtkStyle [ gtk gdk_pixbuf ]
+    ++ optionals gtkStyle [ gtk2 gdk_pixbuf ]
     ++ optionals stdenv.isDarwin [ cf-private ApplicationServices OpenGL Cocoa AGL libcxx libobjc ];
 
   nativeBuildInputs = [ perl pkgconfig which ];
diff --git a/pkgs/development/libraries/qt-5/5.5/default.nix b/pkgs/development/libraries/qt-5/5.5/default.nix
index 27f6e66a1256..fdeb4f7e6c94 100644
--- a/pkgs/development/libraries/qt-5/5.5/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/default.nix
@@ -46,7 +46,7 @@ let
 
       NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
 
-      outputs = args.outputs or [ "dev" "out" ];
+      outputs = args.outputs or [ "out" "dev" ];
       setOutputFlags = args.setOutputFlags or false;
 
       setupHook = ./setup-hook.sh;
@@ -66,7 +66,7 @@ let
         harfbuzz = pkgs.harfbuzz-icu;
         cups = if stdenv.isLinux then pkgs.cups else null;
         # GNOME dependencies are not used unless gtkStyle == true
-        inherit (pkgs.gnome) libgnomeui GConf gnome_vfs;
+        inherit (pkgs.gnome2) libgnomeui GConf gnome_vfs;
         bison = pkgs.bison2; # error: too few arguments to function 'int yylex(...
         inherit developerBuild decryptSslTraffic;
       };
diff --git a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
index 43eb71ede18f..d36a7ef82734 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtbase/default.nix
@@ -19,7 +19,7 @@
 , buildExamples ? false
 , buildTests ? false
 , developerBuild ? false
-, libgnomeui, GConf, gnome_vfs, gtk
+, libgnomeui, GConf, gnome_vfs, gtk2
 , decryptSslTraffic ? false
 }:
 
@@ -28,7 +28,7 @@ let
   system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
 
   # Search path for Gtk plugin
-  gtkLibPath = lib.makeLibraryPath [ gtk gnome_vfs libgnomeui GConf ];
+  gtkLibPath = lib.makeLibraryPath [ gtk2 gnome_vfs libgnomeui GConf ];
 
   dontInvalidateBacking = fetchurl {
     url = "https://codereview.qt-project.org/gitweb?p=qt/qtbase.git;a=patch;h=0f68f8920573cdce1729a285a92ac8582df32841;hp=24c50f8dcf7fa61ac3c3d4d6295c259a104a2b8c";
@@ -46,7 +46,7 @@ stdenv.mkDerivation {
 
   sourceRoot = "qt-everywhere-opensource-src-${version}";
 
-  outputs = [ "dev" "out" "gtk" ];
+  outputs = [ "out" "dev" "gtk" ];
 
   postUnpack = ''
     mv qtbase-opensource-src-${version} ./qt-everywhere-opensource-src-${version}/qtbase
@@ -211,7 +211,7 @@ stdenv.mkDerivation {
     ++ lib.optional (mysql != null) mysql.lib
     ++ lib.optional (postgresql != null) postgresql
     # FIXME: move to the main list on rebuild.
-    ++ [gnome_vfs.out libgnomeui.out gtk GConf];
+    ++ [gnome_vfs.out libgnomeui.out gtk2 GConf];
 
   nativeBuildInputs = [ lndir patchelf perl pkgconfig python ];
 
diff --git a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix
index 32549c95344a..2bffd0a2bd61 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtserialport/default.nix
@@ -1,4 +1,4 @@
-{ qtSubmodule, qtbase, substituteAll, libudev }:
+{ qtSubmodule, qtbase, substituteAll, systemd }:
 
 qtSubmodule {
   name = "qtserialport";
@@ -6,7 +6,7 @@ qtSubmodule {
   patches = [
     (substituteAll {
       src = ./0001-dlopen-serialport-udev.patch;
-      libudev = libudev.out;
+      libudev = systemd.lib;
     })
   ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
index 5ccf09515e4a..3a2d026842a3 100644
--- a/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/5.5/qtwebkit/default.nix
@@ -1,6 +1,6 @@
 { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
-, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
-, sqlite, libudev, glib, gst_all_1
+, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
+, sqlite, systemd, glib, gst_all_1
 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
 , substituteAll
 , flashplayerFix ? false
@@ -18,16 +18,16 @@ qtSubmodule {
   patches =
     let dlopen-webkit-nsplugin = substituteAll {
           src = ./0001-dlopen-webkit-nsplugin.patch;
-          gtk = gtk.out;
+          gtk = gtk2.out;
           gdk_pixbuf = gdk_pixbuf.out;
         };
         dlopen-webkit-gtk = substituteAll {
           src = ./0002-dlopen-webkit-gtk.patch;
-          gtk = gtk.out;
+          gtk = gtk2.out;
         };
         dlopen-webkit-udev = substituteAll {
           src = ./0003-dlopen-webkit-udev.patch;
-          libudev = libudev.out;
+          libudev = systemd.lib;
         };
     in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
     ++ [ dlopen-webkit-udev ];
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index 54624fa99b73..2112b29c729c 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -47,7 +47,7 @@ let
 
       NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
 
-      outputs = args.outputs or [ "dev" "out" ];
+      outputs = args.outputs or [ "out" "dev" ];
       setOutputFlags = args.setOutputFlags or false;
 
       setupHook = ./setup-hook.sh;
@@ -110,7 +110,7 @@ let
       ];
 
       makeQtWrapper = makeSetupHook { deps = [ makeWrapper ]; } ./make-qt-wrapper.sh;
-      qmakeHook = makeSetupHook { deps = [ self.qtbase ]; } ./qmake-hook.sh;
+      qmakeHook = makeSetupHook { deps = [ self.qtbase.dev ]; } ./qmake-hook.sh;
 
     };
 
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
index 6c52b29b35ec..2f414efc3142 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   name = "qtbase-${srcs.qtbase.version}";
   inherit (srcs.qtbase) src version;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix
index 32549c95344a..2bffd0a2bd61 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix
@@ -1,4 +1,4 @@
-{ qtSubmodule, qtbase, substituteAll, libudev }:
+{ qtSubmodule, qtbase, substituteAll, systemd }:
 
 qtSubmodule {
   name = "qtserialport";
@@ -6,7 +6,7 @@ qtSubmodule {
   patches = [
     (substituteAll {
       src = ./0001-dlopen-serialport-udev.patch;
-      libudev = libudev.out;
+      libudev = systemd.lib;
     })
   ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
index a7953eb59011..683bb031e95e 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
@@ -1,6 +1,6 @@
 { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
-, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
-, sqlite, libudev, glib, gst_all_1
+, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
+, sqlite, systemd, glib, gst_all_1
 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
 , substituteAll
 , flashplayerFix ? false
@@ -18,16 +18,16 @@ qtSubmodule {
   patches =
     let dlopen-webkit-nsplugin = substituteAll {
           src = ./0001-dlopen-webkit-nsplugin.patch;
-          gtk = gtk.out;
+          gtk = gtk2.out;
           gdk_pixbuf = gdk_pixbuf.out;
         };
         dlopen-webkit-gtk = substituteAll {
           src = ./0002-dlopen-webkit-gtk.patch;
-          gtk = gtk.out;
+          gtk = gtk2.out;
         };
         dlopen-webkit-udev = substituteAll {
           src = ./0003-dlopen-webkit-udev.patch;
-          libudev = libudev.out;
+          libudev = systemd.lib;
         };
     in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
     ++ [ dlopen-webkit-udev ];
diff --git a/pkgs/development/libraries/qt-5/5.7/default.nix b/pkgs/development/libraries/qt-5/5.7/default.nix
index 286ef0887c7a..c5d32b8ce0a2 100644
--- a/pkgs/development/libraries/qt-5/5.7/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/default.nix
@@ -47,7 +47,7 @@ let
 
       NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
 
-      outputs = args.outputs or [ "dev" "out" ];
+      outputs = args.outputs or [ "out" "dev" ];
       setOutputFlags = args.setOutputFlags or false;
 
       setupHook = ./setup-hook.sh;
@@ -111,7 +111,7 @@ let
 
       qmakeHook =
         makeSetupHook
-        { deps = [ self.qtbase ]; }
+        { deps = [ self.qtbase.dev ]; }
         ./qmake-hook.sh;
 
     };
diff --git a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
index f9d56612375c..a31452e6d9bb 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtbase/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation {
   name = "qtbase-${version}";
   inherit src version;
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   patches =
     copyPathsToStore (lib.readPathsFromFile ./. ./series)
diff --git a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix
index 32549c95344a..2bffd0a2bd61 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtserialport/default.nix
@@ -1,4 +1,4 @@
-{ qtSubmodule, qtbase, substituteAll, libudev }:
+{ qtSubmodule, qtbase, substituteAll, systemd }:
 
 qtSubmodule {
   name = "qtserialport";
@@ -6,7 +6,7 @@ qtSubmodule {
   patches = [
     (substituteAll {
       src = ./0001-dlopen-serialport-udev.patch;
-      libudev = libudev.out;
+      libudev = systemd.lib;
     })
   ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix
index a7953eb59011..683bb031e95e 100644
--- a/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/5.7/qtwebkit/default.nix
@@ -1,6 +1,6 @@
 { qtSubmodule, stdenv, qtdeclarative, qtlocation, qtsensors
-, fontconfig, gdk_pixbuf, gtk, libwebp, libxml2, libxslt
-, sqlite, libudev, glib, gst_all_1
+, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
+, sqlite, systemd, glib, gst_all_1
 , bison2, flex, gdb, gperf, perl, pkgconfig, python, ruby
 , substituteAll
 , flashplayerFix ? false
@@ -18,16 +18,16 @@ qtSubmodule {
   patches =
     let dlopen-webkit-nsplugin = substituteAll {
           src = ./0001-dlopen-webkit-nsplugin.patch;
-          gtk = gtk.out;
+          gtk = gtk2.out;
           gdk_pixbuf = gdk_pixbuf.out;
         };
         dlopen-webkit-gtk = substituteAll {
           src = ./0002-dlopen-webkit-gtk.patch;
-          gtk = gtk.out;
+          gtk = gtk2.out;
         };
         dlopen-webkit-udev = substituteAll {
           src = ./0003-dlopen-webkit-udev.patch;
-          libudev = libudev.out;
+          libudev = systemd.lib;
         };
     in optionals flashplayerFix [ dlopen-webkit-nsplugin dlopen-webkit-gtk ]
     ++ [ dlopen-webkit-udev ];
diff --git a/pkgs/development/libraries/qt-5/qt-env.nix b/pkgs/development/libraries/qt-5/qt-env.nix
index 11c6ac74d5f6..b2b7121d51d5 100644
--- a/pkgs/development/libraries/qt-5/qt-env.nix
+++ b/pkgs/development/libraries/qt-5/qt-env.nix
@@ -1,6 +1,6 @@
-{ runCommand, lndir, qtbase }: name: paths:
+{ lib, runCommand, lndir, qtbase }: name: paths:
 
-runCommand name { inherit paths qtbase; } ''
+runCommand name { qtbase = qtbase.dev; paths = lib.chooseDevOutputs paths;  } ''
 
 mkdir -p "$out/bin" "$out/mkspecs" "$out/include" "$out/lib" "$out/share"
 
diff --git a/pkgs/development/libraries/qtkeychain/default.nix b/pkgs/development/libraries/qtkeychain/default.nix
index 329cea9ff2a3..f0e7f958e402 100644
--- a/pkgs/development/libraries/qtkeychain/default.nix
+++ b/pkgs/development/libraries/qtkeychain/default.nix
@@ -1,19 +1,26 @@
-{ stdenv, fetchFromGitHub, cmake, qt4 }:
+{ stdenv, fetchFromGitHub, cmake, qt4 ? null
+, withQt5 ? false, qtbase ? null, qttools ? null
+}:
+
+assert withQt5 -> qtbase != null;
+assert withQt5 -> qttools != null;
 
 stdenv.mkDerivation rec {
-  name = "qtkeychain-${version}";
-  version = "0.4.0";
+  name = "qtkeychain-${if withQt5 then "qt5" else "qt4"}-${version}";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "frankosterfeld";
     repo = "qtkeychain";
     rev = "v${version}";
-    sha256 = "10msaylisbwmgpwd59vr4dfgml75kji8mlfwnwq8yp29jikj5amq";
+    sha256 = "04v6ymkw7qd1pf9lwijgqrl89w2hhsnqgz7dm4cdrh8i8dffpn52";
   };
 
-  cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=$out/share/qt/translations" ];
+  cmakeFlags = [ "-DQT_TRANSLATIONS_DIR=share/qt/translations" ];
+
+  nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ cmake qt4 ];
+  buildInputs = if withQt5 then [ qtbase qttools ] else [ qt4 ];
 
   meta = {
     description = "Platform-independent Qt API for storing passwords securely";
diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix
index 5b93fbfaade9..3221fec4b4bc 100644
--- a/pkgs/development/libraries/qtscriptgenerator/default.nix
+++ b/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -9,13 +9,13 @@ stdenv.mkDerivation {
   buildInputs = [ qt4 ];
 
   patches = [ ./qtscriptgenerator.gcc-4.4.patch ./qt-4.8.patch ];
-  
+
   # Why isn't the author providing proper Makefile or a CMakeLists.txt ?
   buildPhase = ''
     # remove phonon stuff which causes errors (thanks to Gentoo bug reports)
     sed -i "/typesystem_phonon.xml/d" generator/generator.qrc
-    sed -i "/qtscript_phonon/d" qtbindings/qtbindings.pro	    
-  
+    sed -i "/qtscript_phonon/d" qtbindings/qtbindings.pro
+
     cd generator
     qmake
     make
@@ -25,13 +25,15 @@ stdenv.mkDerivation {
     qmake
     make
   '';
-  
+
   installPhase = ''
     cd ..
     mkdir -p $out/lib/qt4/plugins/script
     cp -av plugins/script/* $out/lib/qt4/plugins/script
   '';
 
+  hardeningDisable = [ "format" ];
+
   meta = {
     description = "QtScript bindings generator";
     homepage = http://code.google.com/p/qtscriptgenerator/;
diff --git a/pkgs/development/libraries/readline/6.3.nix b/pkgs/development/libraries/readline/6.3.nix
index 11d4271b168b..80cc7e923b83 100644
--- a/pkgs/development/libraries/readline/6.3.nix
+++ b/pkgs/development/libraries/readline/6.3.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   propagatedBuildInputs = [ncurses];
 
diff --git a/pkgs/development/libraries/schroedinger/default.nix b/pkgs/development/libraries/schroedinger/default.nix
index 2df7d0518942..c826123174b5 100644
--- a/pkgs/development/libraries/schroedinger/default.nix
+++ b/pkgs/development/libraries/schroedinger/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation {
     sha256 = "04prr667l4sn4zx256v1z36a0nnkxfdqyln48rbwlamr6l3jlmqy";
   };
 
-  outputs = [ "dev" "out" "docdev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ orc ];
diff --git a/pkgs/development/libraries/science/math/atlas/default.nix b/pkgs/development/libraries/science/math/atlas/default.nix
index 23f12e7cf762..6ff7e387ec1f 100644
--- a/pkgs/development/libraries/science/math/atlas/default.nix
+++ b/pkgs/development/libraries/science/math/atlas/default.nix
@@ -66,6 +66,8 @@ stdenv.mkDerivation {
   patches = optional tolerateCpuTimingInaccuracy ./disable-timing-accuracy-check.patch
     ++ optional stdenv.isDarwin ./tmpdir.patch;
 
+  hardeningDisable = [ "format" ];
+
   # Configure outside of the source directory.
   preConfigure = ''
     mkdir build
@@ -73,14 +75,9 @@ stdenv.mkDerivation {
     configureScript=../configure
   '';
 
-  # * -fPIC is passed even in non-shared builds so that the ATLAS code can be
-  #   used to inside of shared libraries, like Octave does.
-  #
   # * -t 0 disables use of multi-threading. It's not quite clear what the
   #   consequences of that setting are and whether it's necessary or not.
   configureFlags = [
-    "-Fa alg"
-    "-fPIC"
     "-t ${threads}"
     cpuConfig
   ] ++ optional shared "--shared"
diff --git a/pkgs/development/libraries/science/math/openblas/default.nix b/pkgs/development/libraries/science/math/openblas/default.nix
index 8c73353efbb2..368cb6d60aa5 100644
--- a/pkgs/development/libraries/science/math/openblas/default.nix
+++ b/pkgs/development/libraries/science/math/openblas/default.nix
@@ -22,13 +22,13 @@ let local = config.openblas.preferLocalBuild or false;
       optionals (hasAttr "target" config.openblas) [ "TARGET=${config.openblas.target}" ];
     blas64 = if blas64_ != null then blas64_ else hasPrefix "x86_64" stdenv.system;
 
-    version = "0.2.17";
+    version = "0.2.19";
 in
 stdenv.mkDerivation {
   name = "openblas-${version}";
   src = fetchurl {
     url = "https://github.com/xianyi/OpenBLAS/archive/v${version}.tar.gz";
-    sha256 = "1gqdrxgc7qmr3xqq4wqcysjhv7ix4ar7ymn3vk5g97r1xvgkds0g";
+    sha256 = "0mw5ra1vjsqiba79zdhqfkqq6v3bla5a5c0wj7vca9qgjzjbah4w";
     name = "openblas-${version}.tar.gz";
   };
 
diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix
index e38e6c9e31f2..f77ac7d89a32 100644
--- a/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -1,9 +1,10 @@
 { stdenv, fetchurl }:
 
-stdenv.mkDerivation {
-  name = "openlibm-0.4.1";
+stdenv.mkDerivation rec {
+  name = "openlibm-${version}";
+  version = "0.5.4";
   src = fetchurl {
-    url = "https://github.com/JuliaLang/openlibm/archive/v0.4.1.tar.gz";
+    url = "https://github.com/JuliaLang/openlibm/archive/v${version}.tar.gz";
     sha256 = "0cwqqqlblj3kzp9aq1wnpfs1fl0qd1wp1xzm5shb09w06i4rh9nn";
   };
 
diff --git a/pkgs/development/libraries/science/math/suitesparse/default.nix b/pkgs/development/libraries/science/math/suitesparse/default.nix
index f81df2a6c022..99f54cebddd1 100644
--- a/pkgs/development/libraries/science/math/suitesparse/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
     "LAPACK="
   ];
 
-  NIX_CFLAGS = "-fPIC" + stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
+  NIX_CFLAGS = stdenv.lib.optionalString stdenv.isDarwin " -DNTIMER";
 
   postInstall = ''
     # Build and install shared library
diff --git a/pkgs/development/libraries/sdformat/default.nix b/pkgs/development/libraries/sdformat/default.nix
index a81ba17a3f5b..692de29afd7a 100644
--- a/pkgs/development/libraries/sdformat/default.nix
+++ b/pkgs/development/libraries/sdformat/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
 
   inherit name;
 
+  prePatch = ''
+    substituteInPlace cmake/sdf_config.cmake.in --replace "@CMAKE_INSTALL_PREFIX@/@LIB_INSTALL_DIR@" "@LIB_INSTALL_DIR@"
+  '';
+
   enableParallelBuilding = true;
   buildInputs = [
     cmake boost ruby ignition.math2 tinyxml
diff --git a/pkgs/development/libraries/sfml/default.nix b/pkgs/development/libraries/sfml/default.nix
index 934137a8b6de..3257737744e0 100644
--- a/pkgs/development/libraries/sfml/default.nix
+++ b/pkgs/development/libraries/sfml/default.nix
@@ -15,6 +15,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ cmake libX11 freetype libjpeg openal flac libvorbis glew
                   libXrandr libXrender udev xcbutilimage
                 ];
+  cmakeFlags = [ "-DSFML_INSTALL_PKGCONFIG_FILES=yes" ];
   meta = with stdenv.lib; {
     homepage = http://www.sfml-dev.org/;
     description = "Simple and fast multimedia library";
diff --git a/pkgs/development/libraries/slang/default.nix b/pkgs/development/libraries/slang/default.nix
index df2b5db89a74..a55173a62b3c 100644
--- a/pkgs/development/libraries/slang/default.nix
+++ b/pkgs/development/libraries/slang/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
     sha256 = "0aqd2cjabj6nhd4r3dc4vhqif2bf3dmqnrn2gj0xm4gqyfd177jy";
   };
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   # Fix some wrong hardcoded paths
   preConfigure = ''
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 388b34d31e19..6803dfd76de9 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk, m4, pkgconfig, mesa, makeWrapper }:
+{ stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkgconfig, mesa, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "smpeg-svn${version}";
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildInputs = [ SDL gtk mesa ];
+  hardeningDisable = [ "format" ];
+
+  buildInputs = [ SDL gtk2 mesa ];
 
   nativeBuildInputs = [ autoconf automake libtool m4 pkgconfig makeWrapper ];
 
diff --git a/pkgs/development/libraries/sonic/default.nix b/pkgs/development/libraries/sonic/default.nix
new file mode 100644
index 000000000000..f5927cb73e6c
--- /dev/null
+++ b/pkgs/development/libraries/sonic/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "sonic-${version}";
+  version = "2016-03-01";
+
+  src = fetchFromGitHub {
+    owner = "waywardgeek";
+    repo = "sonic";
+    rev = "71bdf26c55716a45af50c667c0335a9519e952dd";
+    sha256 = "1kcl8fdf92kafmfhvyjal5gvkn99brkjyzbi9gw3rd5b30m3xz2b";
+  };
+
+  postPatch = ''
+    sed -i "s,^PREFIX=.*,PREFIX=$out," Makefile
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Simple library to speed up or slow down speech";
+    homepage = "https://github.com/waywardgeek/sonic";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aske ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/speechd/default.nix b/pkgs/development/libraries/speechd/default.nix
index 613fee3c6d63..ee45c0d1c65a 100644
--- a/pkgs/development/libraries/speechd/default.nix
+++ b/pkgs/development/libraries/speechd/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "speech-dispatcher-${version}";
-  version = "0.8.3";
+  version = "0.8.5";
 
   src = fetchurl {
     url = "http://www.freebsoft.org/pub/projects/speechd/${name}.tar.gz";
-    sha256 = "0kqy7z4l59n2anc7xn588w4rkacig1hajx8c53qrh90ypar978ln";
+    sha256 = "18jlxnhlahyi6njc6l6576hfvmzivjjgfjyd2n7vvrvx9inphjrb";
   };
 
   buildInputs = [ intltool libtool glib dotconf libsndfile libao python3Packages.python ]
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
              ++ lib.optional withPico svox;
   nativeBuildInputs = [ pkgconfig python3Packages.wrapPython ];
 
+  hardeningDisable = [ "format" ];
+
   pythonPath = with python3Packages; [ pyxdg ];
 
   postPatch = lib.optionalString withPico ''
diff --git a/pkgs/development/libraries/speex/default.nix b/pkgs/development/libraries/speex/default.nix
index ce313e351686..199c0d007344 100644
--- a/pkgs/development/libraries/speex/default.nix
+++ b/pkgs/development/libraries/speex/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sed -i '/AC_CONFIG_MACRO_DIR/i PKG_PROG_PKG_CONFIG' configure.ac
   '';
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ fftw speexdsp ];
diff --git a/pkgs/development/libraries/speexdsp/default.nix b/pkgs/development/libraries/speexdsp/default.nix
index e31c793a7d7a..dc87c939278d 100644
--- a/pkgs/development/libraries/speexdsp/default.nix
+++ b/pkgs/development/libraries/speexdsp/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   patches = [ ./build-fix.patch ];
   postPatch = "sed '3i#include <stdint.h>' -i ./include/speex/speexdsp_config_types.h.in";
 
-  outputs = [ "dev" "out" "doc" ];
+  outputs = [ "out" "dev" "doc" ];
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
   buildInputs = [ fftw ];
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 0ef024424b25..3034370e4ea5 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, spice_protocol, intltool, celt_0_5_1
+{ stdenv, fetchurl, pkgconfig, gtk2, spice_protocol, intltool, celt_0_5_1
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
 , cyrus_sasl, python, pygtk, autoreconfHook, usbredir, libsoup
 , gtk3, enableGTK3 ? false }:
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     spice_protocol celt_0_5_1 openssl libpulseaudio pixman gobjectIntrospection
     libjpeg_turbo zlib cyrus_sasl python pygtk usbredir
-  ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk ]);
+  ] ++ (if enableGTK3 then [ gtk3 ] else [ gtk2 ]);
 
   nativeBuildInputs = [ pkgconfig intltool libsoup autoreconfHook ];
 
diff --git a/pkgs/development/libraries/sqlite/default.nix b/pkgs/development/libraries/sqlite/default.nix
index 1e59745b34a2..38eb1a06284f 100644
--- a/pkgs/development/libraries/sqlite/default.nix
+++ b/pkgs/development/libraries/sqlite/default.nix
@@ -3,14 +3,14 @@
 assert interactive -> readline != null && ncurses != null;
 
 stdenv.mkDerivation {
-  name = "sqlite-3.13.0";
+  name = "sqlite-3.14.1";
 
   src = fetchurl {
-    url = "http://sqlite.org/2016/sqlite-autoconf-3130000.tar.gz";
-    sha256 = "0sq88jbwsk48i41f7m7rkw9xvijq011nsbs7pl49s31inck70yg2";
+    url = "http://sqlite.org/2016/sqlite-autoconf-3140100.tar.gz";
+    sha256 = "19j73j44akqgc6m82wm98yvnmm3mfzmfqr8mp3n7n080d53q4wdw";
   };
 
-  outputs = [ "dev" "out" "bin" ];
+  outputs = [ "bin" "dev" "out" ];
 
   buildInputs = lib.optionals interactive [ readline ncurses ];
 
diff --git a/pkgs/development/libraries/tcltls/default.nix b/pkgs/development/libraries/tcltls/default.nix
index 7d445408fa25..dc0504454f61 100644
--- a/pkgs/development/libraries/tcltls/default.nix
+++ b/pkgs/development/libraries/tcltls/default.nix
@@ -4,25 +4,27 @@ stdenv.mkDerivation rec {
   name = "tcltls-${version}";
   version = "1.6";
 
-  configureFlags = "--with-tcl=" + tcl + "/lib "
-                 + "--with-tclinclude=" + tcl + "/include "
-                 + "--with-ssl-dir=" + openssl;
-
-  preConfigure = ''
-    configureFlags="--exec_prefix=$prefix $configureFlags"
-  '';
-
   src = fetchurl {
     url = "mirror://sourceforge/tls/tls${version}-src.tar.gz";
     sha256 = "adec50143a9ad634a671d24f7c7bbf2455487eb5f12d290f41797c32a98b93f3";
   };
 
+  buildInputs = [ tcl openssl ];
+
+  configureFlags = [
+    "--with-tcl=${tcl}/lib"
+    "--with-tclinclude=${tcl}/include"
+    "--with-ssl-dir=${openssl.dev}"
+  ];
+
+  preConfigure = ''
+    configureFlags="--exec_prefix=$prefix $configureFlags"
+  '';
+
   passthru = {
     libPrefix = "tls${version}";
   };
 
-  buildInputs = [ tcl openssl ];
-
   meta = {
     homepage = "http://tls.sourceforge.net/";
     description = "An OpenSSL / RSA-bsafe Tcl extension";
diff --git a/pkgs/development/libraries/tidyp/default.nix b/pkgs/development/libraries/tidyp/default.nix
index fee74f3d6f9e..ba95da77b72c 100644
--- a/pkgs/development/libraries/tidyp/default.nix
+++ b/pkgs/development/libraries/tidyp/default.nix
@@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
     sha256 = "0f5ky0ih4vap9c6j312jn73vn8m2bj69pl2yd3a5nmv35k9zmc10";
   };
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     description = "A program that can validate your HTML, as well as modify it to be more clean and standard";
     homepage = http://tidyp.com/;
diff --git a/pkgs/development/libraries/tk/generic.nix b/pkgs/development/libraries/tk/generic.nix
index c5a01ec7e7c8..87a2edee3ca2 100644
--- a/pkgs/development/libraries/tk/generic.nix
+++ b/pkgs/development/libraries/tk/generic.nix
@@ -5,14 +5,19 @@ stdenv.mkDerivation {
 
   inherit src patches;
 
-  postInstall = ''
-    ln -s $out/bin/wish* $out/bin/wish
-  '';
+  outputs = [ "out" "man" "dev" ];
+
+  setOutputFlags = false;
 
   preConfigure = ''
+    configureFlagsArray+=(--mandir=$man/share/man --enable-man-symlinks)
     cd unix
   '';
 
+  postInstall = ''
+    ln -s $out/bin/wish* $out/bin/wish
+  '';
+
   configureFlags = [
     "--with-tcl=${tcl}/lib"
   ];
diff --git a/pkgs/development/libraries/torch-hdf5/default.nix b/pkgs/development/libraries/torch-hdf5/default.nix
new file mode 100644
index 000000000000..e5803d644f3b
--- /dev/null
+++ b/pkgs/development/libraries/torch-hdf5/default.nix
@@ -0,0 +1,19 @@
+{stdenv, fetchFromGitHub, torch, cmake, hdf5}:
+stdenv.mkDerivation rec {
+  name = "torch-hdf5-${version}";
+  version = "0.0pre2016-07-01";
+  buildInputs = [cmake torch hdf5];
+  src = fetchFromGitHub {
+    owner = "deepmind";
+    repo = "torch-hdf5";
+    rev = "639bb4e62417ac392bf31a53cdd495d19337642b";
+    sha256 = "0x1si2c30d95vmw0xqyq242wghfih3m5i43785vwahlzm7h6n6xz";
+  };
+  meta = {
+    inherit version;
+    description = ''HDF5 format support for Torch'';
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/torch/default.nix b/pkgs/development/libraries/torch/default.nix
index 254c210a61ed..1b1a100350c7 100644
--- a/pkgs/development/libraries/torch/default.nix
+++ b/pkgs/development/libraries/torch/default.nix
@@ -15,18 +15,6 @@ stdenv.mkDerivation rec{
     cd ..
     export PREFIX=$out
 
-    include=
-    for i in $NIX_CFLAGS_COMPILE; do
-      if test -n "$include" && test -d "$i"; then
-        export CMAKE_INCLUDE_PATH="$CMAKE_INCLUDE_PATH''${CMAKE_INCLUDE_PATH:+:}$i"
-      fi;
-      if test "x$i" = "x-isystem"; then
-        include=1
-      else
-        include=
-      fi
-    done
-
     mkdir "$out"
     sh install.sh -s
   '';
diff --git a/pkgs/development/libraries/ucommon/default.nix b/pkgs/development/libraries/ucommon/default.nix
index 50d8f5e8745b..64afde3c53bd 100644
--- a/pkgs/development/libraries/ucommon/default.nix
+++ b/pkgs/development/libraries/ucommon/default.nix
@@ -19,6 +19,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ pkgconfig ];
 
+  # disable flaky networking test
+  postPatch = ''
+    substituteInPlace test/stream.cpp \
+      --replace 'ifndef UCOMMON_SYSRUNTIME' 'if 0'
+  '';
+
   # ucommon.pc has link time depdendencies on -lssl, -lcrypto, -lz, -lgnutls
   propagatedBuildInputs = [ openssl zlib gnutls ];
 
@@ -30,6 +36,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.lgpl3Plus;
 
     maintainers = with stdenv.lib.maintainers; [ viric ];
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/vapoursynth-mvtools/default.nix b/pkgs/development/libraries/vapoursynth-mvtools/default.nix
new file mode 100644
index 000000000000..0fb34e5953e7
--- /dev/null
+++ b/pkgs/development/libraries/vapoursynth-mvtools/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook,
+  vapoursynth, yasm, fftwFloat
+}:
+
+stdenv.mkDerivation rec {
+  name = "vapoursynth-mvtools-${version}";
+  version = "16";
+
+  src = fetchFromGitHub {
+    owner = "dubhater";
+    repo  = "vapoursynth-mvtools";
+    rev    = "48959b868c18fa8066502f957734cbd5fb9762a0";
+    sha256 = "15xpqvfzhv0kcf3gyghni4flazi1mmj2iy6zw5834phqr52yg07z";
+  };
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    yasm vapoursynth fftwFloat
+  ];
+
+  configureFlags = "--libdir=$(out)/lib/vapoursynth";
+
+  meta = with stdenv.lib; {
+    description = "A set of filters for motion estimation and compensation";
+    homepage = https://github.com/dubhater/vapoursynth-mvtools;
+    license  = licenses.gpl2;
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
new file mode 100644
index 000000000000..12cba8decc76
--- /dev/null
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook,
+  glibc, zimg, imagemagick, libass, tesseract, yasm,
+  python3
+}:
+
+stdenv.mkDerivation rec {
+  name = "vapoursynth-${version}";
+  version = "R33.1";
+
+  src = fetchFromGitHub {
+    owner = "vapoursynth";
+    repo  = "vapoursynth";
+    rev    = "0d69d29abb3c4ba9e806958bf9c539bd6eff6852";
+    sha256 = "1dbz81vgqfsb306d7891p8y25y7632y32ii3l64shr0jsq64vgsm";
+  };
+
+  buildInputs = [
+    pkgconfig autoreconfHook
+    zimg imagemagick libass glibc tesseract yasm
+    (python3.withPackages (ps: with ps; [ sphinx cython ]))
+  ];
+
+  configureFlags = [
+    "--enable-imwri"
+    "--disable-static"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "A video processing framework with the future in mind";
+    homepage = http://www.vapoursynth.com/;
+    license   = licenses.lgpl21;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+
+}
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 28852fd97d66..1dc35db43f95 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     sha256 = "1y3yii8wnyz68n0mzcmjylwd6jchqa3l913v39l2zsd2rv5nyvs0";
   };
 
-  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+  NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
 
   buildInputs = [ boost cmake fftw fftwSinglePrec hdf5 ilmbase libjpeg libpng
                   libtiff numpy openexr python ];
diff --git a/pkgs/development/libraries/vrpn/default.nix b/pkgs/development/libraries/vrpn/default.nix
index ce0fd3273046..5250b7815906 100644
--- a/pkgs/development/libraries/vrpn/default.nix
+++ b/pkgs/development/libraries/vrpn/default.nix
@@ -1,34 +1,34 @@
-{ fetchurl, stdenv, unzip, cmake, mesa }:
-
-stdenv.mkDerivation {
-  name = "vrpn-07.30";
-
-  src = fetchurl {
-    url = "ftp://ftp.cs.unc.edu/pub/packages/GRIP/vrpn/vrpn_07_30.zip";
-    sha256 = "1rysp08myv88q3a30dr7js7vg3hvq8zj2bjrpcgpp86fm3gjpvb4";
+{ stdenv, fetchFromGitHub, unzip, cmake, mesa }:
+
+stdenv.mkDerivation rec {
+  name    = "${pname}-${date}";
+  pname   = "vrpn";
+  date    = "2016-08-27";
+
+  src = fetchFromGitHub {
+    owner  = "vrpn";
+    repo   = "vrpn";
+    rev    = "9fa0ab3676a43527301c9efd3637f80220eb9462";
+    sha256 = "032q295d68w34rk5q8nfqdd29s55n00bfik84y7xzkjrpspaprlh";
   };
 
   buildInputs = [ unzip cmake mesa ];
 
-  doCheck = false;                                # FIXME: test failure
+  doCheck = false; # FIXME: test failure
   checkTarget = "test";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Virtual Reality Peripheral Network";
-
-    longDescription =
-      '' The Virtual-Reality Peripheral Network (VRPN) is a set of classes
-         within a library and a set of servers that are designed to implement
-         a network-transparent interface between application programs and the
-         set of physical devices (tracker, etc.) used in a virtual-reality
-         (VR) system.
-      '';
-
-    homepage = http://www.cs.unc.edu/Research/vrpn/;
-
-    license = stdenv.lib.licenses.boost;
-                        # see # <http://www.cs.unc.edu/Research/vrpn/obtaining_vrpn.html>
-
-    platforms = stdenv.lib.platforms.linux;
+    longDescription = ''
+      The Virtual-Reality Peripheral Network (VRPN) is a set of classes
+      within a library and a set of servers that are designed to implement
+      a network-transparent interface between application programs and the
+      set of physical devices (tracker, etc.) used in a virtual-reality
+      (VR) system.
+    '';
+    homepage    = http://www.vrpn.org/;
+    license     = licenses.boost; # see https://github.com/vrpn/vrpn/wiki/License
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ ludo ];
   };
 }
diff --git a/pkgs/development/libraries/vxl/default.nix b/pkgs/development/libraries/vxl/default.nix
index 725a0bdfceaf..b9f3c0e64d6c 100644
--- a/pkgs/development/libraries/vxl/default.nix
+++ b/pkgs/development/libraries/vxl/default.nix
@@ -1,10 +1,12 @@
-{ stdenv, fetchurl, unzip, cmake, libtiff, expat, zlib, libpng, libjpeg }:
+{ stdenv, fetchFromGitHub, unzip, cmake, libtiff, expat, zlib, libpng, libjpeg }:
 stdenv.mkDerivation {
-  name = "vxl-1.17.0";
+  name = "vxl-1.17.0-nix1";
 
-  src = fetchurl {
-    url = mirror://sourceforge/vxl/vxl-1.17.0.zip;
-    sha256 = "1qg7i8h201pa8jljg7vph4rlxk6n5cj9f9gd1hkkmbw6fh44lsxh";
+  src = fetchFromGitHub {
+    owner = "vxl";
+    repo = "vxl";
+    rev = "777c0beb7c8b30117400f6fc9a6d63bf8cb7c67a";
+    sha256 = "0xpkwwb93ka6c3da8zjhfg9jk5ssmh9ifdh1by54sz6c7mbp55m8";
   };
 
   buildInputs = [ cmake unzip libtiff expat zlib libpng libjpeg ];
@@ -20,8 +22,6 @@ stdenv.mkDerivation {
 
   enableParallelBuilding = true;
 
-  patches = [ ./gcc5.patch ];
-
   meta = {
     description = "C++ Libraries for Computer Vision Research and Implementation";
     homepage = http://vxl.sourceforge.net/;
diff --git a/pkgs/development/libraries/vxl/gcc5.patch b/pkgs/development/libraries/vxl/gcc5.patch
deleted file mode 100644
index 4660f9e8f483..000000000000
--- a/pkgs/development/libraries/vxl/gcc5.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-https://lists.fedoraproject.org/pipermail/scm-commits/Week-of-Mon-20150216/1511118.html
-
---- vxl-git4e07960/vcl/vcl_compiler.h~	2012-11-02 12:08:21.000000000 +0100
-+++ vxl-git4e07960/vcl/vcl_compiler.h	2015-02-15 13:50:46.376329878 +0100
-@@ -119,6 +119,10 @@
- #  else

- #   define VCL_GCC_40

- #  endif

-+# elif (__GNUC__== 5)

-+// pretend GCC 5 to be GCC 4

-+#  define VCL_GCC_4

-+#  define VCL_GCC_41

- # else

- #  error "Dunno about this gcc"

- # endif

diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 57d3664447a6..dda1bd369760 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.4";
+  version = "1.7";
 
   src = fetchurl {
     url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
-    sha256 = "0wpm7mz7ww6nn3vrgz7a9iyk7mk6za73wnq0n54lzl8yq8irljh1";
+    sha256 = "07qw166s6bm81zfnhf4lmww6wj0il960fm3vp7n1z3rign9jlpv3";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/webkitgtk/2.10.nix b/pkgs/development/libraries/webkitgtk/2.10.nix
index a76a19ad41d3..e74cc6421b24 100644
--- a/pkgs/development/libraries/webkitgtk/2.10.nix
+++ b/pkgs/development/libraries/webkitgtk/2.10.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
 
   # XXX: WebKit2 missing include path for gst-plugins-base.
   # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894
-  NIX_CFLAGS_COMPILE = "-I${gst-plugins-base}/include/gstreamer-1.0";
+  NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0";
 
   nativeBuildInputs = [
     cmake perl python ruby bison gperf sqlite
diff --git a/pkgs/development/libraries/webkitgtk/2.12.nix b/pkgs/development/libraries/webkitgtk/2.12.nix
index 05bd5ccb69c2..3de8a9420824 100644
--- a/pkgs/development/libraries/webkitgtk/2.12.nix
+++ b/pkgs/development/libraries/webkitgtk/2.12.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   # XXX: WebKit2 missing include path for gst-plugins-base.
   # Filled: https://bugs.webkit.org/show_bug.cgi?id=148894
-  NIX_CFLAGS_COMPILE = "-I${gst-plugins-base}/include/gstreamer-1.0";
+  NIX_CFLAGS_COMPILE = "-I${gst-plugins-base.dev}/include/gstreamer-1.0";
 
   nativeBuildInputs = [
     cmake perl python ruby bison gperf sqlite
diff --git a/pkgs/development/libraries/webkitgtk/2.4.nix b/pkgs/development/libraries/webkitgtk/2.4.nix
index 39c0eed0a543..1db47827abe5 100644
--- a/pkgs/development/libraries/webkitgtk/2.4.nix
+++ b/pkgs/development/libraries/webkitgtk/2.4.nix
@@ -47,6 +47,8 @@ stdenv.mkDerivation rec {
   configureFlags = with stdenv.lib; [
     "--disable-geolocation"
     "--disable-jit"
+    # needed for parallel building
+    "--enable-dependency-tracking"
     (optionalString enableIntrospection "--enable-introspection")
   ] ++ optional withGtk2 [
     "--with-gtk=2.0"
@@ -86,7 +88,6 @@ stdenv.mkDerivation rec {
     (if withGtk2 then gtk2 else gtk3)
   ];
 
-  # Still fails with transient errors in version 2.4.9.
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
 }
diff --git a/pkgs/development/libraries/wlc/default.nix b/pkgs/development/libraries/wlc/default.nix
index 71cd246e7424..144e9c091801 100644
--- a/pkgs/development/libraries/wlc/default.nix
+++ b/pkgs/development/libraries/wlc/default.nix
@@ -5,51 +5,25 @@
 
 stdenv.mkDerivation rec {
   name = "wlc-${version}";
-  version = "v0.0.3";
+  version = "0.0.5";
 
-  chck_repo = "https://github.com/Cloudef/chck";
-  chck_rev = "fe5e2606b7242aa5d89af2ea9fd048821128d2bc";
-
-  wl_protos_repo = "git://anongit.freedesktop.org/wayland/wayland-protocols";
-  wl_protos_rev = "0b05b70f9da245582f01581be4ca36db683682b8";
-  wl_protos_rev_short = "0b05b70";
-
-  srcs = [
-   (fetchFromGitHub {
-     owner = "Cloudef";
-     repo = "wlc";
-     rev = version;
-     sha256 = "0l29axg4y7qjd5hf3kgf38hkjykb4mcsjkba0zdm583kkjzdzkb2";
-   })
-   (fetchurl {
-     url = "${chck_repo}/archive/${chck_rev}.tar.gz";
-     sha256 = "ca316b544c48e837c32f08d613be42da10e0a3251e8e4488d1848b91ef92ab9e";
-   })
-   (fetchgit {
-     url = "${wl_protos_repo}";
-     rev = "${wl_protos_rev}";
-     sha256 = "9c1cfbb570142b2109ecef4d11b17f25e94ed2e0569f522ea56f244c60465224";
-   })
-  ];
- 
-  sourceRoot = "wlc-${version}-src";
-
-  postUnpack = ''
-    rm -rf wlc-*/lib/chck ${sourceRoot}/protos/wayland-protocols
-    ln -s ../../chck-${chck_rev} ${sourceRoot}/lib/chck
-    ln -s ../../wayland-protocols-${wl_protos_rev_short} ${sourceRoot}/protos/wayland-protocols
-  '';
+  src = fetchgit {
+    url = "https://github.com/Cloudef/wlc";
+    rev = "refs/tags/v${version}";
+    sha256 = "0pg95n488fjlkc8n8x1h2dh4mxb7qln6mrq906lwwqv94aks9b43";
+    fetchSubmodules = true;
+   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
     wayland pixman libxkbcommon libinput libxcb xcbutilwm xcbutilimage mesa libdrm udev
-    libpthreadstubs libX11 libXau libXdmcp libXext libXdamage libxshmfence libXxf86vm
-    systemd dbus_libs
+    libX11 libXdamage systemd dbus_libs
   ];
 
-  makeFlags = "PREFIX=$(out) -lchck";
-  installPhase = "PREFIX=$out make install";
+
+  doCheck = true;
+  checkTarget = "test";
 
   meta = {
     description = "A library for making a simple Wayland compositor";
diff --git a/pkgs/development/libraries/wolfssl/default.nix b/pkgs/development/libraries/wolfssl/default.nix
index ca883cc79e73..7ddd56541aa2 100644
--- a/pkgs/development/libraries/wolfssl/default.nix
+++ b/pkgs/development/libraries/wolfssl/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0b1a9rmzpzjblj0gsrzas2aljivd0gfimcsj8gjl80ng25zgmaxr";
   };
 
-  outputs = [ "dev" "out" "doc" "lib" ];
+  outputs = [ "out" "dev" "doc" "lib" ];
 
   nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix
index e023665f0701..c4530da54531 100644
--- a/pkgs/development/libraries/wxGTK-2.8/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.8/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
+{ stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
 , gstreamer, gst_plugins_base, GConf, libX11, cairo
 , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
 }:
@@ -16,11 +16,13 @@ stdenv.mkDerivation rec {
     sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
   };
 
-  buildInputs = [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf libX11 cairo ]
+  buildInputs = [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer gst_plugins_base GConf libX11 cairo ]
     ++ optional withMesa mesa;
 
   nativeBuildInputs = [ pkgconfig ];
 
+  hardeningDisable = [ "format" ];
+
   configureFlags = [
     "--enable-gtk2"
     (if compat24 then "--enable-compat24" else "--disable-compat24")
@@ -54,7 +56,10 @@ stdenv.mkDerivation rec {
     (cd $out/include && ln -s wx-*/* .)
   ";
 
-  passthru = {inherit gtk compat24 compat26 unicode;};
+  passthru = {
+    inherit compat24 compat26 unicode;
+    gtk = gtk2;
+  };
 
   enableParallelBuilding = true;
   
diff --git a/pkgs/development/libraries/wxGTK-2.9/default.nix b/pkgs/development/libraries/wxGTK-2.9/default.nix
index 47760cdb2884..82ba9daed80f 100644
--- a/pkgs/development/libraries/wxGTK-2.9/default.nix
+++ b/pkgs/development/libraries/wxGTK-2.9/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
+{ stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
 , gstreamer, gst_plugins_base, GConf, setfile
 , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs =
-    [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
+    [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
       gst_plugins_base GConf ]
     ++ optional withMesa mesa
     ++ optional stdenv.isDarwin setfile;
@@ -52,11 +52,14 @@ stdenv.mkDerivation {
     (cd $out/include && ln -s wx-*/* .)
   ";
 
-  passthru = {inherit gtk compat24 compat26 unicode;};
+  passthru = {
+    inherit compat24 compat26 unicode;
+    gtk = gtk2;
+  };
 
   enableParallelBuilding = true;
   
   meta = {
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/wxGTK-3.0/default.nix b/pkgs/development/libraries/wxGTK-3.0/default.nix
index 93f771e8c8ff..087e93b0e054 100644
--- a/pkgs/development/libraries/wxGTK-3.0/default.nix
+++ b/pkgs/development/libraries/wxGTK-3.0/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
+{ stdenv, fetchurl, pkgconfig, gtk2, libXinerama, libSM, libXxf86vm, xf86vidmodeproto
 , gstreamer, gst_plugins_base, GConf, setfile
 , withMesa ? true, mesa ? null, compat24 ? false, compat26 ? true, unicode ? true,
 }:
@@ -19,7 +19,7 @@ stdenv.mkDerivation {
   };
 
   buildInputs =
-    [ gtk libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
+    [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
       gst_plugins_base GConf ]
     ++ optional withMesa mesa
     ++ optional stdenv.isDarwin setfile;
@@ -52,11 +52,14 @@ stdenv.mkDerivation {
     (cd $out/include && ln -s wx-*/* .)
   ";
 
-  passthru = {inherit gtk compat24 compat26 unicode;};
+  passthru = {
+    inherit compat24 compat26 unicode;
+    gtk = gtk2;
+  };
 
   enableParallelBuilding = true;
   
   meta = {
-    platforms = stdenv.lib.platforms.all;
+    platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
index 0a287363e67c..c485cb6a05aa 100644
--- a/pkgs/development/libraries/x265/default.nix
+++ b/pkgs/development/libraries/x265/default.nix
@@ -49,6 +49,10 @@ stdenv.mkDerivation rec {
     cd source
   '';
 
+  postInstall = ''
+    rm $out/lib/*.a
+  '';
+
   nativeBuildInputs = [ cmake yasm ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/xapian/bindings/default.nix b/pkgs/development/libraries/xapian/bindings/default.nix
index eeb480e6847b..7187f9b575fd 100644
--- a/pkgs/development/libraries/xapian/bindings/default.nix
+++ b/pkgs/development/libraries/xapian/bindings/default.nix
@@ -1,15 +1,18 @@
 { stdenv, composableDerivation, fetchurl, xapian, pkgconfig, zlib
-, python ? null, php ? null, ruby ? null }:
+, python ? null, sphinx ? null, php ? null, ruby ? null }:
+
+assert (python != null) -> (sphinx != null);
 
 let inherit (composableDerivation) wwf; in
 
 composableDerivation.composableDerivation {} rec {
 
-  name = "xapian-bindings-1.2.23";
+  name = "xapian-bindings-${version}";
+  version = (builtins.parseDrvName xapian.name).version;
 
   src = fetchurl {
-    url = "http://oligarchy.co.uk/xapian/1.2.23/${name}.tar.xz";
-    sha256 = "05929d9bq9df25kh2i6gk2w09w7p5qknf9cc7mrm2g46finbbd0r";
+    url = "http://oligarchy.co.uk/xapian/${version}/${name}.tar.xz";
+    sha256 = "0lv2zblayfax4v7z3sj067b0av0phf3gc2s2d1cvkw0bkl07mv1s";
   };
 
   buildInputs = [ xapian pkgconfig zlib ];
@@ -19,7 +22,18 @@ composableDerivation.composableDerivation {} rec {
          wwf {
            name = "python";
            enable = {
-            buildInputs = [ python ];
+            buildInputs = [ python sphinx ];
+
+            # Our `sphinx-build` binary is a shell wrapper around
+            # `sphinx-build` python code. Makefile tries to execute it
+            # using python2 and fails. Fixing that here.
+            patchPhase = ''
+              for a in python/Makefile* ; do
+                substituteInPlace $a \
+                  --replace '$(PYTHON2) $(SPHINX_BUILD)' '$(SPHINX_BUILD)'
+              done
+            '';
+
             # export same env vars as in pythonNew
             preConfigure = ''
               export PYTHON_LIB=$out/lib/${python.libPrefix}/site-packages
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index 7c4b699e6152..36b55c59c245 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "xapian-${version}";
-  version = "1.2.23";
+  version = "1.4.0";
 
   src = fetchurl {
     url = "http://oligarchy.co.uk/xapian/${version}/xapian-core-${version}.tar.xz";
-    sha256 = "0z9lhvfaazzmd611bnii9a0d19sqnjs0s9vbcgjhcv8s9spax0wp";
+    sha256 = "0xv4da5rmqqzkkkzx2v3jwh5hz5zxhd2b7m8x30fk99a25blyn0h";
   };
 
   outputs = [ "out" "doc" ];
diff --git a/pkgs/development/libraries/xapian/tools/omega/default.nix b/pkgs/development/libraries/xapian/tools/omega/default.nix
new file mode 100644
index 000000000000..7c64c2e90d4e
--- /dev/null
+++ b/pkgs/development/libraries/xapian/tools/omega/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchurl, pkgconfig, xapian, perl, pcre, zlib, libmagic }:
+
+stdenv.mkDerivation rec {
+  name = "xapian-omega-${version}";
+  version = (builtins.parseDrvName xapian.name).version;
+
+  src = fetchurl {
+    url = "http://oligarchy.co.uk/xapian/${version}/xapian-omega-${version}.tar.xz";
+    sha256 = "07s341m1csk4v7mc44mqrzc1nxpnmdkji9k1cirbx6q0nlshdz0h";
+  };
+
+  buildInputs = [ pkgconfig xapian perl pcre zlib libmagic ];
+
+  meta = with stdenv.lib; {
+    description = "Indexer and CGI search front-end built on Xapian library";
+    homepage = http://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 1b6d07bfc341..af1a3b4e095e 100644
--- a/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
+++ b/pkgs/development/libraries/xcb-util-cursor/HEAD.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     platforms   = platforms.linux ++ platforms.darwin;
   };
 
-  outputs = [ "dev" "out" ];
+  outputs = [ "out" "dev" ];
 
   buildInputs = [
     autoconf
diff --git a/pkgs/development/libraries/xlslib/default.nix b/pkgs/development/libraries/xlslib/default.nix
index e68415951c76..3a45447119ca 100644
--- a/pkgs/development/libraries/xlslib/default.nix
+++ b/pkgs/development/libraries/xlslib/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     description = "C++/C library to construct Excel .xls files in code";
     homepage = http://sourceforge.net/projects/xlslib/;
     license = licenses.bsd2;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
   };
 }
diff --git a/pkgs/development/libraries/xmlrpc-c/default.nix b/pkgs/development/libraries/xmlrpc-c/default.nix
index 56bcba8297de..0b5f08bdf9b3 100644
--- a/pkgs/development/libraries/xmlrpc-c/default.nix
+++ b/pkgs/development/libraries/xmlrpc-c/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
     (cd tools/xmlrpc && make && make install)
   '';
 
+  hardeningDisable = [ "format" ];
+
   meta = with stdenv.lib; {
     description = "A lightweight RPC library based on XML and HTTP";
     homepage = http://xmlrpc-c.sourceforge.net/;
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
new file mode 100644
index 000000000000..9e8de5a5aace
--- /dev/null
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }:
+
+stdenv.mkDerivation rec{
+  name = "zimg-${version}";
+  version = "2.2.1";
+
+  src = fetchFromGitHub {
+    owner = "sekrit-twc";
+    repo  = "zimg";
+    rev    = "e88b156fdd6d5ae647bfc68a30e86d14f214764d";
+    sha256 = "1hb35pm9ykdyhg71drd59yy29d154m2r1mr8ikyzpi3knanjn23a";
+  };
+
+  buildInputs = [ autoreconfHook ];
+
+  meta = with stdenv.lib; {
+    description = "Scaling, colorspace conversion and dithering library";
+    homepage = https://github.com/sekrit-twc/zimg;
+    license  = licenses.wtfpl;
+    platforms = platforms.linux; # check upstream issue #52
+    maintainers = with maintainers; [ rnhmjoj ];
+  };
+}
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index 2176fa6f31ce..e61001e7d6db 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       --replace 'ARFLAGS="-o"' 'ARFLAGS="-r"'
   '';
 
-  outputs = [ "dev" "out" "static" ];
+  outputs = [ "out" "dev" "static" ];
   setOutputFlags = false;
   outputDoc = "dev"; # single tiny man3 page
 
@@ -31,6 +31,9 @@ stdenv.mkDerivation rec {
     fi
   '';
 
+  # FIXME needs gcc 4.9 in bootstrap tools
+  hardeningDisable = [ "stackprotector" ];
+
   configureFlags = stdenv.lib.optional (!static) "--shared";
 
   postInstall = ''
@@ -47,8 +50,7 @@ stdenv.mkDerivation rec {
 
   # As zlib takes part in the stdenv building, we don't want references
   # to the bootstrap-tools libgcc (as uses to happen on arm/mips)
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-static-libgcc "
-                     + stdenv.lib.optionalString (stdenv.isFreeBSD) "-fPIC";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.isDarwin) "-static-libgcc";
 
   crossAttrs = {
     dontStrip = static;