summary refs log tree commit diff
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-02-20 20:31:39 +0100
committerVladimír Čunát <vcunat@gmail.com>2018-02-20 20:31:39 +0100
commit43a88e3d8a68a008abea0bca0b17805aa4910764 (patch)
treedfedec7c941b61fdd748bdf9806344d24c5f29f2
parenta34b0274ef111f02299c7b3435b4502eeb4deb3e (diff)
parentfbe38c7c442e21b9eaa9a145c0e2bfe134f7f367 (diff)
downloadnixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar
nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.gz
nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.bz2
nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.lz
nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.xz
nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.tar.zst
nixpkgs-43a88e3d8a68a008abea0bca0b17805aa4910764.zip
Merge branch 'gcc-7' into staging
Close #27794.
-rw-r--r--pkgs/applications/editors/leo-editor/default.nix21
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/virtualization/qemu/statfs-flags.patch31
-rw-r--r--pkgs/data/documentation/zeal/default.nix4
-rw-r--r--pkgs/data/documentation/zeal/remove_ads.patch32
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix10
-rw-r--r--pkgs/development/compilers/hhvm/default.nix1
-rw-r--r--pkgs/development/compilers/openjdk/7.nix5
-rw-r--r--pkgs/development/compilers/rust/default.nix3
-rw-r--r--pkgs/development/compilers/yap/default.nix2
-rw-r--r--pkgs/development/interpreters/clojure/default.nix28
-rw-r--r--pkgs/development/interpreters/gnu-apl/default.nix3
-rw-r--r--pkgs/development/interpreters/spidermonkey/17.nix10
-rw-r--r--pkgs/development/libraries/aspell/default.nix17
-rw-r--r--pkgs/development/libraries/aws-sdk-cpp/default.nix2
-rw-r--r--pkgs/development/libraries/dbus-cplusplus/default.nix25
-rw-r--r--pkgs/development/libraries/json-c/0.11.nix3
-rw-r--r--pkgs/development/libraries/json-c/default.nix3
-rw-r--r--pkgs/development/libraries/libidn/default.nix3
-rw-r--r--pkgs/development/libraries/libmemcached/default.nix2
-rw-r--r--pkgs/development/libraries/libmwaw/default.nix8
-rw-r--r--pkgs/development/libraries/librevenge/default.nix5
-rw-r--r--pkgs/development/libraries/libunique/default.nix5
-rw-r--r--pkgs/development/libraries/libunique/gcc7-bug.patch18
-rw-r--r--pkgs/development/libraries/libwps/default.nix2
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix12
-rw-r--r--pkgs/development/libraries/ncurses/default.nix22
-rw-r--r--pkgs/development/libraries/ncurses/gcc-5.patch46
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix15
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix3
-rw-r--r--pkgs/development/libraries/usbredir/default.nix3
-rw-r--r--pkgs/development/python-modules/pythonix/default.nix4
-rw-r--r--pkgs/development/tools/analysis/radare2-cutter/default.nix48
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix25
-rw-r--r--pkgs/development/tools/misc/openocd/default.nix6
-rw-r--r--pkgs/misc/riscv-pk/default.nix32
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix10
-rw-r--r--pkgs/os-specific/linux/ffado/gcc6.patch19
-rw-r--r--pkgs/os-specific/linux/ffado/glibc226.patch10
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix9
-rw-r--r--pkgs/os-specific/linux/libsepol/default.nix2
-rw-r--r--pkgs/os-specific/linux/reptyr/default.nix3
-rw-r--r--pkgs/stdenv/linux/default.nix4
-rw-r--r--pkgs/stdenv/linux/make-bootstrap-tools.nix3
-rw-r--r--pkgs/tools/misc/less/default.nix4
-rw-r--r--pkgs/tools/networking/dhcp/default.nix2
-rw-r--r--pkgs/tools/networking/ntopng/default.nix2
-rw-r--r--pkgs/top-level/all-packages.nix67
49 files changed, 358 insertions, 244 deletions
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix
index b05bbd053c1..2084a047a08 100644
--- a/pkgs/applications/editors/leo-editor/default.nix
+++ b/pkgs/applications/editors/leo-editor/default.nix
@@ -1,20 +1,29 @@
-{ stdenv, python3Packages, fetchFromGitHub, makeWrapper, makeDesktopItem }:
+{ stdenv, python3, libsForQt56, fetchFromGitHub, makeWrapper, makeDesktopItem }:
 
+let
+  packageOverrides = self: super: {
+    pyqt56 = libsForQt56.callPackage ../../../development/python-modules/pyqt/5.x.nix {
+      pythonPackages = self;
+    };
+  };
+
+  pythonPackages = (python3.override { inherit packageOverrides; }).pkgs;
+in
 stdenv.mkDerivation rec {
   name = "leo-editor-${version}";
-  version = "5.5";
+  version = "5.6";
 
   src = fetchFromGitHub {
     owner = "leo-editor";
     repo = "leo-editor";
     rev = version;
-    sha256 = "0crzljirzfiy9xn02ydd23clmd8bzdjxkyxdqsvdkgfy9j41b8hr";
+    sha256 = "1k6q3gvaf05bi0mzkmmb1p6wrgxwri7ivn38p6f0m0wfd3f70x2j";
   };
 
   dontBuild = true;
 
-  nativeBuildInputs = [ makeWrapper python3Packages.python ];
-  propagatedBuildInputs = with python3Packages; [ pyqt5 ];
+  nativeBuildInputs = [ makeWrapper python3 ];
+  propagatedBuildInputs = with pythonPackages; [ pyqt56 docutils ];
 
   desktopItem = makeDesktopItem rec {
     name = "leo-editor";
@@ -50,7 +59,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/leo-editor
     mv * $out/share/leo-editor
 
-    makeWrapper ${python3Packages.python.interpreter} $out/bin/leo \
+    makeWrapper ${python3.interpreter} $out/bin/leo \
       --set PYTHONPATH "$PYTHONPATH:$out/share/leo-editor" \
       --add-flags "-O $out/share/leo-editor/launchLeo.py"
   '';
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index c4158d280e2..34f0d16a7b4 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,5 +1,5 @@
 { mkDerivation, lib, fetchgit, fetchpatch
-, pkgconfig, gyp, cmake, gcc7, makeWrapper
+, pkgconfig, gyp, cmake, makeWrapper
 , qtbase, qtimageformats, gtk3, libappindicator-gtk3
 , dee, ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio, range-v3
 }:
@@ -31,7 +31,7 @@ mkDerivation rec {
     })
   ];
 
-  nativeBuildInputs = [ pkgconfig gyp cmake gcc7 makeWrapper ];
+  nativeBuildInputs = [ pkgconfig gyp cmake makeWrapper ];
 
   buildInputs = [
     qtbase qtimageformats gtk3 libappindicator-gtk3
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index afb3716f04c..e545cb33bef 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -13,7 +13,7 @@
 }:
 
 let
-  version = "2.16.1";
+  version = "2.16.2";
   svn = subversionClient.override { perlBindings = true; };
 in
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "06gay8k29glg4giwphjalcc1fknxw4bmxkmbr3ic3gzxy8vl7bfg";
+    sha256 = "05y7480f2p7fkncbhf08zz56jbykcp0ia5gl6y3djs0lsa5mfq2m";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/virtualization/qemu/statfs-flags.patch b/pkgs/applications/virtualization/qemu/statfs-flags.patch
index c0f0162aacc..52a470a2869 100644
--- a/pkgs/applications/virtualization/qemu/statfs-flags.patch
+++ b/pkgs/applications/virtualization/qemu/statfs-flags.patch
@@ -1,4 +1,4 @@
-commit d3282d2512774dc5027c98930a3852b2b6e8407a
+commit 909fe47c7009aa9a75fe9470c5f8d3dd5b50917a
 Author: Shea Levy <shea@shealevy.com>
 Date:   Sun Feb 18 13:50:11 2018 -0500
 
@@ -59,7 +59,7 @@ index 82b35a6bdf..77481eca2c 100644
              unlock_user_struct(target_stfs, arg2, 1);
          }
 diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
-index a35c52a60a..9f90451caf 100644
+index a35c52a60a..64aa49d3c5 100644
 --- a/linux-user/syscall_defs.h
 +++ b/linux-user/syscall_defs.h
 @@ -362,7 +362,14 @@ struct kernel_statfs {
@@ -77,49 +77,46 @@ index a35c52a60a..9f90451caf 100644
  };
  
  struct target_dirent {
-@@ -2223,7 +2230,13 @@ struct target_statfs {
+@@ -2223,7 +2230,12 @@ struct target_statfs {
  	/* Linux specials */
  	target_fsid_t		f_fsid;
  	int32_t			f_namelen;
 +#ifdef HAVE_STATFS_FLAGS
-+	int32_t			f_frsize;
 +	int32_t			f_flags;
-+	int32_t			f_spare[4];
++	int32_t			f_spare[5];
 +#else
  	int32_t			f_spare[6];
 +#endif
  };
  #else
  struct target_statfs {
-@@ -2239,7 +2252,13 @@ struct target_statfs {
+@@ -2239,7 +2251,12 @@ struct target_statfs {
  	/* Linux specials */
  	target_fsid_t		f_fsid;
  	abi_long		f_namelen;
 +#ifdef HAVE_STATFS_FLAGS
-+	abi_long		f_frsize;
 +	abi_long		f_flags;
-+	abi_long		f_spare[4];
++	abi_long		f_spare[5];
 +#else
  	abi_long		f_spare[6];
 +#endif
  };
  #endif
  
-@@ -2255,7 +2274,13 @@ struct target_statfs64 {
+@@ -2255,7 +2272,12 @@ struct target_statfs64 {
  	uint64_t	f_bavail;
  	target_fsid_t	f_fsid;
  	uint32_t	f_namelen;
 +#ifdef HAVE_STATFS_FLAGS
-+	uint32_t	f_frsize;
 +	uint32_t	f_flags;
-+	uint32_t	f_spare[4];
++	uint32_t	f_spare[5];
 +#else
  	uint32_t	f_spare[6];
 +#endif
  };
  #elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \
         defined(TARGET_SPARC64) || defined(TARGET_AARCH64)) && \
-@@ -2271,7 +2296,12 @@ struct target_statfs {
+@@ -2271,7 +2293,12 @@ struct target_statfs {
  	target_fsid_t f_fsid;
  	abi_long f_namelen;
  	abi_long f_frsize;
@@ -132,7 +129,7 @@ index a35c52a60a..9f90451caf 100644
  };
  
  struct target_statfs64 {
-@@ -2285,7 +2315,12 @@ struct target_statfs64 {
+@@ -2285,7 +2312,12 @@ struct target_statfs64 {
  	target_fsid_t f_fsid;
  	abi_long f_namelen;
  	abi_long f_frsize;
@@ -145,7 +142,7 @@ index a35c52a60a..9f90451caf 100644
  };
  #elif defined(TARGET_S390X)
  struct target_statfs {
-@@ -2299,7 +2334,13 @@ struct target_statfs {
+@@ -2299,7 +2331,13 @@ struct target_statfs {
      kernel_fsid_t f_fsid;
      int32_t  f_namelen;
      int32_t  f_frsize;
@@ -159,7 +156,7 @@ index a35c52a60a..9f90451caf 100644
  };
  
  struct target_statfs64 {
-@@ -2313,7 +2354,12 @@ struct target_statfs64 {
+@@ -2313,7 +2351,12 @@ struct target_statfs64 {
      kernel_fsid_t f_fsid;
      int32_t  f_namelen;
      int32_t  f_frsize;
@@ -172,7 +169,7 @@ index a35c52a60a..9f90451caf 100644
  };
  #else
  struct target_statfs {
-@@ -2327,7 +2373,12 @@ struct target_statfs {
+@@ -2327,7 +2370,12 @@ struct target_statfs {
  	target_fsid_t f_fsid;
  	uint32_t f_namelen;
  	uint32_t f_frsize;
@@ -185,7 +182,7 @@ index a35c52a60a..9f90451caf 100644
  };
  
  struct target_statfs64 {
-@@ -2341,7 +2392,12 @@ struct target_statfs64 {
+@@ -2341,7 +2389,12 @@ struct target_statfs64 {
  	target_fsid_t f_fsid;
          uint32_t f_namelen;
  	uint32_t f_frsize;
diff --git a/pkgs/data/documentation/zeal/default.nix b/pkgs/data/documentation/zeal/default.nix
index 68a1fb92cc8..e9225900cb7 100644
--- a/pkgs/data/documentation/zeal/default.nix
+++ b/pkgs/data/documentation/zeal/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "zeal-${version}";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner  = "zealdocs";
     repo   = "zeal";
     rev    = "v${version}";
-    sha256 = "14gm9n2zmqgig4nz5i3089dhn0a7c175g1szr0zg9yzr9j2hk0mr";
+    sha256 = "0zsrb89jz04b8in1d69p7mg001yayyljc47vdlvm48cjbhvxwj0k";
   };
 
   # while ads can be disabled from the user settings, by default they are not so
diff --git a/pkgs/data/documentation/zeal/remove_ads.patch b/pkgs/data/documentation/zeal/remove_ads.patch
index 1c0b3c081f1..be0cab305eb 100644
--- a/pkgs/data/documentation/zeal/remove_ads.patch
+++ b/pkgs/data/documentation/zeal/remove_ads.patch
@@ -1,17 +1,23 @@
+commit 1b61397175b6e60f23224db463301c9057830859
+Author: Peter Hoeg <peter@hoeg.com>
+Date:   Mon Feb 19 07:38:03 2018 +0800
+
+    strip container with ads
+
 diff --git a/src/app/resources/browser/welcome.html b/src/app/resources/browser/welcome.html
-index 22e6278..ec09771 100644
+index bb3f511..67382b2 100644
 --- a/src/app/resources/browser/welcome.html
 +++ b/src/app/resources/browser/welcome.html
-@@ -35,12 +35,6 @@
-     <div class="hero-foot">
-       <div class="container">
-         <div class="content has-text-centered">
--          <div id="carboncontainer">
--            <div id="carbon" class="box">
--              <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=zealdocsforwindowsorg"
--                onerror="document.getElementById('carboncontainer').style.display = 'none';" id="_carbonads_js"></script>
+@@ -20,12 +20,6 @@
+               <span id="version" class="has-text-weight-light is-size-5"></span>
+             </p>
+             <p class="subtitle">Docs for everyone</p>
+-            <div id="carboncontainer" style="margin-top: 75px;">
+-              <div id="carbon" class="box">
+-                <script async type="text/javascript" src="https://cdn.carbonads.com/carbon.js?zoneid=1673&serve=C6AILKT&placement=zealdocsforwindowsorg"
+-                  onerror="document.getElementById('carboncontainer').style.display = 'none';" id="_carbonads_js"></script>
+-              </div>
 -            </div>
--          </div>
-           <p>
-             <a class="icon" href="https://github.com/zealdocs/zeal">
-               <i class="fa fa-github"></i>
+           </div>
+           <div class="column">
+             <p class="subtitle is-5">Customize</p>
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 42ac766d2cc..bbf87eccac7 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -33,7 +33,6 @@
 , gnused ? null
 , cloog # unused; just for compat with gcc4, as we override the parameter on some places
 , darwin ? null
-, flex ? null
 , buildPlatform, hostPlatform, targetPlatform
 , buildPackages
 }:
@@ -295,7 +294,7 @@ stdenv.mkDerivation ({
     ];
 
   buildInputs = [
-    gmp mpfr libmpc libelf flex
+    gmp mpfr libmpc libelf
     targetPackages.stdenv.cc.bintools # For linking code at run-time
   ] ++ (optional (isl != null) isl)
     ++ (optional (zlib != null) zlib)
@@ -408,9 +407,8 @@ stdenv.mkDerivation ({
 
   targetConfig = if targetPlatform != hostPlatform then targetPlatform.config else null;
 
-  buildFlags = if bootstrap then
-    (if profiledCompiler then "profiledbootstrap" else "bootstrap")
-    else "";
+  buildFlags =
+    optional bootstrap (if profiledCompiler then "profiledbootstrap" else "bootstrap");
 
   installTargets =
     if stripped
@@ -523,7 +521,7 @@ stdenv.mkDerivation ({
 }
 
 # Strip kills static libs of other archs (hence targetPlatform != hostPlatform)
-// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; NIX_STRIP_DEBUG = 0; }
+// optionalAttrs (!stripped || targetPlatform != hostPlatform) { dontStrip = true; }
 
 // optionalAttrs (enableMultilib) { dontMoveLib64 = true; }
 )
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index a66b2264f07..1cb28118ccb 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -53,6 +53,7 @@ stdenv.mkDerivation rec {
       hphp/runtime/ext/std/*.cpp \
       hphp/runtime/ext_zend_compat/php-src/main/*.cpp \
       hphp/runtime/ext_zend_compat/php-src/main/*.h
+    sed '1i#include <functional>' -i third-party/mcrouter/src/mcrouter/lib/cycles/Cycles.h
     patchShebangs .
   '';
 
diff --git a/pkgs/development/compilers/openjdk/7.nix b/pkgs/development/compilers/openjdk/7.nix
index 372bb153269..13f8bcfdb1d 100644
--- a/pkgs/development/compilers/openjdk/7.nix
+++ b/pkgs/development/compilers/openjdk/7.nix
@@ -69,7 +69,10 @@ let
         fontconfig perl file bootjdk
       ];
 
-    NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations";
+    NIX_CFLAGS_COMPILE = [
+      "-Wno-error=deprecated-declarations"
+      "-Wno-error=format-overflow" # newly detected by gcc7
+    ];
 
     NIX_LDFLAGS = if minimal then null else "-lfontconfig -lXcursor -lXinerama";
 
diff --git a/pkgs/development/compilers/rust/default.nix b/pkgs/development/compilers/rust/default.nix
index b5550a96a83..413751cf255 100644
--- a/pkgs/development/compilers/rust/default.nix
+++ b/pkgs/development/compilers/rust/default.nix
@@ -10,7 +10,7 @@ let
 in
 rec {
   rustc = callPackage ./rustc.nix {
-    inherit llvm targets targetPatches targetToolchains rustPlatform version;
+    inherit stdenv llvm targets targetPatches targetToolchains rustPlatform version;
 
     forceBundledLLVM = true;
 
@@ -34,6 +34,7 @@ rec {
     srcSha = "14b2n1msxma19ydchj54hd7f2zdsr524fg133dkmdn7j65f1x6aj";
     cargoSha256 = "1sj59z0w172qvjwg1ma5fr5am9dgw27086xwdnrvlrk4hffcr7y7";
 
+    inherit stdenv;
     inherit rustc; # the rustc that will be wrapped by cargo
     inherit rustPlatform; # used to build cargo
   };
diff --git a/pkgs/development/compilers/yap/default.nix b/pkgs/development/compilers/yap/default.nix
index 8e37dc76441..d93da8cb996 100644
--- a/pkgs/development/compilers/yap/default.nix
+++ b/pkgs/development/compilers/yap/default.nix
@@ -13,6 +13,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--enable-tabling=yes";
 
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
+
   meta = {
     homepage = http://www.dcc.fc.up.pt/~vsc/Yap/;
     description = "A ISO-compatible high-performance Prolog compiler";
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 3b071d3afb3..7aac606fdfb 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -1,28 +1,28 @@
 { stdenv, fetchurl, jdk, rlwrap, makeWrapper }:
 
-let version = "1.9.0.326"; in
-
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "clojure-${version}";
+  version = "1.9.0.329";
 
   src = fetchurl {
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "0sf8gy39iz4jxj2wic1lbdwdwbj90k3awhr0kq76gr1z1dwbj6s9";
+    sha256 = "1g1mi75285z977vrqbihmmmrmdcnznxbw3r6wkzh571sc1yyrlrj";
   };
 
   buildInputs = [ makeWrapper ];
 
+  outputs = [ "out" "prefix" ];
+
   installPhase = ''
-    pwd
-    ls -la
-    mkdir -p $out/libexec $out/bin
-    cp -f deps.edn example-deps.edn $out
-    cp -f clojure-tools-${version}.jar $out/libexec
-    sed -i -e "s@PREFIX@$out@g" clojure
-    cp -f clj clojure $out/bin
-    for program in $out/bin/{clojure,clj}; do
-      wrapProgram $program --suffix PATH : $out/bin:${jdk.jre}/bin:${rlwrap}/bin
-    done
+    mkdir -p $prefix/libexec
+    cp clojure-tools-${version}.jar $prefix/libexec
+    cp {,example-}deps.edn $prefix
+
+    substituteInPlace clojure --replace PREFIX $prefix
+
+    install -Dt $out/bin clj clojure
+    wrapProgram $out/bin/clj --suffix PATH ${rlwrap}/bin
+    wrapProgram $out/bin/clojure --suffix PATH ${jdk}/bin
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/interpreters/gnu-apl/default.nix b/pkgs/development/interpreters/gnu-apl/default.nix
index 4d38545a44f..2f5ce0e7635 100644
--- a/pkgs/development/interpreters/gnu-apl/default.nix
+++ b/pkgs/development/interpreters/gnu-apl/default.nix
@@ -12,6 +12,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ readline gettext ncurses ];
 
+  # Needed with GCC 7
+  NIX_CFLAGS_COMPILE = "-Wno-error=int-in-bool-context";
+
   patchPhase = optionalString stdenv.isDarwin ''
     substituteInPlace src/LApack.cc --replace "malloc.h" "malloc/malloc.h"
   '';
diff --git a/pkgs/development/interpreters/spidermonkey/17.nix b/pkgs/development/interpreters/spidermonkey/17.nix
index da5fc193a22..9c47ebe79b6 100644
--- a/pkgs/development/interpreters/spidermonkey/17.nix
+++ b/pkgs/development/interpreters/spidermonkey/17.nix
@@ -18,6 +18,16 @@ stdenv.mkDerivation rec {
 
   postUnpack = "sourceRoot=\${sourceRoot}/js/src";
 
+  patches = [
+    (fetchurl {
+      name = "jsoptparse-gcc7.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/mozjs17.git/plain/"
+          + "mozjs17.0.0-gcc7.patch?id=43b846629a299f";
+      sha256 = "17plyaq0jwf9wli4zlgvh4ri3zyk6nj1fiakh3wnd37nsl90raf9";
+    })
+  ];
+  patchFlags = "-p3";
+
   postPatch = ''
     # Fixes an issue with version detection under perl 5.22.x
     sed -i 's/(defined\((@TEMPLATE_FILE)\))/\1/' config/milestone.pl
diff --git a/pkgs/development/libraries/aspell/default.nix b/pkgs/development/libraries/aspell/default.nix
index cccd93e5d4d..d0e93337a39 100644
--- a/pkgs/development/libraries/aspell/default.nix
+++ b/pkgs/development/libraries/aspell/default.nix
@@ -1,5 +1,6 @@
-{stdenv, fetchurl, perl
-, searchNixProfiles ? true}:
+{ stdenv, fetchurl, fetchpatch, perl
+, searchNixProfiles ? true
+}:
 
 stdenv.mkDerivation rec {
   name = "aspell-0.60.6.1";
@@ -9,10 +10,16 @@ stdenv.mkDerivation rec {
     sha256 = "1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm";
   };
 
-  patchPhase = ''
+  patches = [
+    (fetchpatch { # remove in >= 0.60.7
+      name = "gcc-7.patch";
+      url = "https://github.com/GNUAspell/aspell/commit/8089fa02122fed0a.diff";
+      sha256 = "1b3p1zy2lqr2fknddckm58hyk95hw4scf6hzjny1v9iaic2p37ix";
+    })
+  ] ++ stdenv.lib.optional searchNixProfiles ./data-dirs-from-nix-profiles.patch;
+
+  postPatch = ''
     patch interfaces/cc/aspell.h < ${./clang.patch}
-  '' + stdenv.lib.optionalString searchNixProfiles ''
-    patch -p1 < ${./data-dirs-from-nix-profiles.patch}
   '';
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/aws-sdk-cpp/default.nix b/pkgs/development/libraries/aws-sdk-cpp/default.nix
index 1983aab0e32..cd42652e091 100644
--- a/pkgs/development/libraries/aws-sdk-cpp/default.nix
+++ b/pkgs/development/libraries/aws-sdk-cpp/default.nix
@@ -58,6 +58,8 @@ in stdenv.mkDerivation rec {
       rm aws-cpp-sdk-core-tests/aws/auth/AWSCredentialsProviderTest.cpp
     '';
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=noexcept-type" ];
+
   meta = {
     description = "A C++ interface for Amazon Web Services";
     homepage = https://github.com/awslabs/aws-sdk-cpp;
diff --git a/pkgs/development/libraries/dbus-cplusplus/default.nix b/pkgs/development/libraries/dbus-cplusplus/default.nix
index ee7afbbf252..05140581143 100644
--- a/pkgs/development/libraries/dbus-cplusplus/default.nix
+++ b/pkgs/development/libraries/dbus-cplusplus/default.nix
@@ -10,11 +10,26 @@ stdenv.mkDerivation rec {
     sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw";
   };
 
-  patches = [( fetchurl {
-    url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch;
-    name = "gcc-4.7.patch";
-    sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
-  })];
+  patches = [
+    (fetchurl {
+      name = "gcc-4.7.patch";
+      url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/"
+          + "dbus-c%2B%2B/files/dbus-c%2B%2B-0.9.0-gcc-4.7.patch";
+      sha256 = "0rwcz9pvc13b3yfr0lkifnfz0vb5q6dg240bzgf37ni4s8rpc72g";
+    })
+    (fetchurl {
+      name = "writechar.patch"; # since gcc7
+      url = "https://src.fedoraproject.org/cgit/rpms/dbus-c++.git/plain/"
+          + "dbus-c++-writechar.patch?id=7f371172f5c";
+      sha256 = "1kkg4gbpm4hp87l25zw2a3r9c58g7vvgzcqgiman734i66zsbb9l";
+    })
+    (fetchurl {
+      name = "threading.patch"; # since gcc7
+      url = "https://src.fedoraproject.org/cgit/rpms/dbus-c++.git/plain/"
+          + "dbus-c++-threading.patch?id=7f371172f5c";
+      sha256 = "1h362anx3wyxm5lq0v8girmip1jmkdbijrmbrq7k5pp47zkhwwrq";
+    })
+  ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ dbus glib expat ];
diff --git a/pkgs/development/libraries/json-c/0.11.nix b/pkgs/development/libraries/json-c/0.11.nix
index 029921ee08c..8c4eab9ede6 100644
--- a/pkgs/development/libraries/json-c/0.11.nix
+++ b/pkgs/development/libraries/json-c/0.11.nix
@@ -6,6 +6,9 @@ stdenv.mkDerivation rec {
     url    = "https://github.com/json-c/json-c/archive/json-c-0.11-20130402.tar.gz";
     sha256 = "1m8fy7lbahv1r7yqbhw4pl057sxmmgjihm1fsvc3h66710s2i24r";
   };
+
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
+
   meta = with stdenv.lib; {
     description = "A JSON implementation in C";
     homepage    = https://github.com/json-c/json-c/wiki;
diff --git a/pkgs/development/libraries/json-c/default.nix b/pkgs/development/libraries/json-c/default.nix
index b8c72d9669e..7317efc53f8 100644
--- a/pkgs/development/libraries/json-c/default.nix
+++ b/pkgs/development/libraries/json-c/default.nix
@@ -11,6 +11,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ]; # won't configure without it, no idea why
 
+  # probably OK after update: https://github.com/json-c/json-c/pull/365
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
+
   # compatibility hack (for mypaint at least)
   postInstall = ''
     ln -s json-c.pc "$dev/lib/pkgconfig/json.pc"
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 147d6bac2f9..54d669f1913 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
 
-  doCheck = !stdenv.isDarwin && !stdenv.hostPlatform.isMusl;
+  # broken with gcc-7
+  #doCheck = !stdenv.isDarwin && !stdenv.hostPlatform.isMusl;
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/libraries/libmemcached/default.nix b/pkgs/development/libraries/libmemcached/default.nix
index 6d895290e2c..15e642832df 100644
--- a/pkgs/development/libraries/libmemcached/default.nix
+++ b/pkgs/development/libraries/libmemcached/default.nix
@@ -23,6 +23,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ libevent ];
   propagatedBuildInputs = [ cyrus_sasl ];
 
+  NIX_CFLAGS_COMPILE = [ "-fpermissive"/*gcc7*/ ];
+
   meta = with stdenv.lib; {
     homepage = http://libmemcached.org;
     description = "Open source C/C++ client library and tools for the memcached server";
diff --git a/pkgs/development/libraries/libmwaw/default.nix b/pkgs/development/libraries/libmwaw/default.nix
index e1ac659683c..35137a09cd9 100644
--- a/pkgs/development/libraries/libmwaw/default.nix
+++ b/pkgs/development/libraries/libmwaw/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="libmwaw";
-    version="0.3.10";
+    version="0.3.13";
     name="${baseName}-${version}";
-    hash="087j6kx03ggvqwpl944nnf75qkvi9bag8b0z59phg66gbz0s0imj";
-    url="https://netcologne.dl.sourceforge.net/project/libmwaw/libmwaw/libmwaw-0.3.10/libmwaw-0.3.10.tar.xz";
-    sha256="087j6kx03ggvqwpl944nnf75qkvi9bag8b0z59phg66gbz0s0imj";
+    hash="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv";
+    url="mirror://sourceforge/libmwaw/libmwaw/libmwaw-0.3.13/libmwaw-0.3.13.tar.xz";
+    sha256="1sjs3nc39im232h5bf81w3il8ivd7w2bc2qssxf7k74g8hlcfmfv";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/librevenge/default.nix b/pkgs/development/libraries/librevenge/default.nix
index 3523eb5c37b..2c6e792ae8c 100644
--- a/pkgs/development/libraries/librevenge/default.nix
+++ b/pkgs/development/libraries/librevenge/default.nix
@@ -21,11 +21,10 @@ stdenv.mkDerivation {
     inherit (s) url sha256;
   };
 
-  # Clang generates warnings in Boost's header files
+  # Clang and gcc-7 generate warnings, and
   # -Werror causes these warnings to be interpreted as errors
   # Simplest solution: disable -Werror
-  configureFlags = if stdenv.cc.isClang
-    then [ "--disable-werror" ] else null;
+  configureFlags = [ "--disable-werror" ];
 
   # Fix an issue with boost 1.59
   # This is fixed upstream so please remove this when updating
diff --git a/pkgs/development/libraries/libunique/default.nix b/pkgs/development/libraries/libunique/default.nix
index a5adaa9ac17..1bef7683654 100644
--- a/pkgs/development/libraries/libunique/default.nix
+++ b/pkgs/development/libraries/libunique/default.nix
@@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
     ./1.1.6-fix-test.patch
     ./1.1.6-G_CONST_RETURN.patch
     ./1.1.6-include-terminator.patch
-  ];
+  ]
+    ++ [ ./gcc7-bug.patch ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ glib gtk2 dbus_glib ];
@@ -24,7 +25,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    homepage = http://live.gnome.org/LibUnique;
+    homepage = https://wiki.gnome.org/Attic/LibUnique;
     description = "A library for writing single instance applications";
     license = stdenv.lib.licenses.lgpl21;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/libunique/gcc7-bug.patch b/pkgs/development/libraries/libunique/gcc7-bug.patch
new file mode 100644
index 00000000000..2b0587510bc
--- /dev/null
+++ b/pkgs/development/libraries/libunique/gcc7-bug.patch
@@ -0,0 +1,18 @@
+gcc-7 newly detects this class of bugs.
+In this particular case it's clear that the inention was
+to detect if the string is non-NULL *and* non-empty.
+
+
+diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c
+index b40a86c..66a7226 100644
+--- a/unique/uniqueapp.c
++++ b/unique/uniqueapp.c
+@@ -176,7 +176,7 @@ set_startup_id (UniqueBackend *backend,
+ {
+   gchar *id;
+ 
+-  if (startup_id && startup_id != '\0')
++  if (startup_id && *startup_id != '\0')
+     id = g_strdup (startup_id);
+   else
+     {
diff --git a/pkgs/development/libraries/libwps/default.nix b/pkgs/development/libraries/libwps/default.nix
index 73fe5b55ab4..37ff9d098c5 100644
--- a/pkgs/development/libraries/libwps/default.nix
+++ b/pkgs/development/libraries/libwps/default.nix
@@ -12,6 +12,8 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ boost librevenge zlib ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ]; # newly detected by gcc-7
+
   meta = with stdenv.lib; {
     homepage = http://libwps.sourceforge.net/;
     description = "Microsoft Works document format import filter library";
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index 736c31b442a..a5542ebb659 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -8,11 +8,19 @@ stdenv.mkDerivation rec {
     sha256 = "0f438bimimsvxjbdp4vsr8hjw2nwggmhaxgcw07g2z361fkbj683";
   };
 
-  # From Handbrake
-  # mp4v2 doesn't seem to be actively maintained any more :-/
   patches = [
+    # From Handbrake
+    # mp4v2 doesn't seem to be actively maintained any more :-/
     ./A02-meaningful-4gb-warning.patch
+
+    (fetchurl {
+      name = "gcc-7.patch";
+      url = "https://src.fedoraproject.org/cgit/rpms/libmp4v2.git/plain/"
+          + "0004-Fix-GCC7-build.patch?id=d7aeedabb";
+      sha256 = "0sbn0il7lmk77yrjyb4f0a3z3h8gsmdkscvz5n9hmrrrhrwf672w";
+    })
   ];
+
   # `faac' expects `mp4.h'.
   postInstall = "ln -s mp4v2/mp4v2.h $out/include/mp4.h";
 
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 0dd7b37e1a6..308a916b0bd 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -11,23 +11,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = if abiVersion == "5" then "5.9" else "6.0-20171125";
-  name = "ncurses-${version}";
+  version = "6.0-20171125";
+  name = "ncurses-${version}" + lib.optionalString (abiVersion == "5") "-abi5-compat";
 
-  src = fetchurl (if abiVersion == "5" then {
-    url = "mirror://gnu/ncurses/${name}.tar.gz";
-    sha256 = "0fsn7xis81za62afan0vvm38bvgzg5wfmv1m86flqcj0nj7jjilh";
-  } else {
+  src = fetchurl {
     urls = [
-      "ftp://ftp.invisible-island.net/ncurses/current/${name}.tgz"
-      "https://invisible-mirror.net/archives/ncurses/current/${name}.tgz"
+      "ftp://ftp.invisible-island.net/ncurses/current/ncurses-${version}.tgz"
+      "https://invisible-mirror.net/archives/ncurses/current/ncurses-${version}.tgz"
     ];
     sha256 = "11adzj0k82nlgpfrflabvqn2m7fmhp2y6pd7ivmapynxqb9vvb92";
-  });
+  };
 
-  # Unnecessarily complicated in order to avoid mass-rebuilds
-  patches = lib.optional (!stdenv.cc.isClang || abiVersion == "5") ./clang.patch
-    ++ lib.optional (stdenv.cc.isGNU && abiVersion == "5") ./gcc-5.patch;
+  patches = lib.optional (!stdenv.cc.isClang) ./clang.patch;
 
   outputs = [ "out" "dev" "man" ];
   setOutputFlags = false; # some aren't supported
@@ -37,7 +32,8 @@ stdenv.mkDerivation rec {
     "--without-debug"
     "--enable-pc-files"
     "--enable-symlinks"
-  ] ++ lib.optional unicode "--enable-widec";
+  ] ++ lib.optional unicode "--enable-widec"
+    ++ lib.optional (abiVersion == "5") "--with-abi-version=5";
 
   # Only the C compiler, and explicitly not C++ compiler needs this flag on solaris:
   CFLAGS = lib.optionalString stdenv.isSunOS "-D_XOPEN_SOURCE_EXTENDED";
diff --git a/pkgs/development/libraries/ncurses/gcc-5.patch b/pkgs/development/libraries/ncurses/gcc-5.patch
deleted file mode 100644
index 2448229b88e..00000000000
--- a/pkgs/development/libraries/ncurses/gcc-5.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://bugs.gentoo.org/545114
-
-extracted from the upstream change (which had many unrelated commits in one)
-
-From 97bb4678dc03e753290b39bbff30ba2825df9517 Mon Sep 17 00:00:00 2001
-From: "Thomas E. Dickey" <dickey@invisible-island.net>
-Date: Sun, 7 Dec 2014 03:10:09 +0000
-Subject: [PATCH] ncurses 5.9 - patch 20141206
-
-+ modify MKlib_gen.sh to work around change in development version of
-  gcc introduced here:
-	  https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
-	  https://gcc.gnu.org/ml/gcc-patches/2014-07/msg00236.html
-  (reports by Marcus Shawcroft, Maohui Lei).
-
-diff --git a/ncurses/base/MKlib_gen.sh b/ncurses/base/MKlib_gen.sh
-index d8cc3c9..b91398c 100755
---- a/ncurses/base/MKlib_gen.sh
-+++ b/ncurses/base/MKlib_gen.sh
-@@ -474,11 +474,22 @@ sed -n -f $ED1 \
- 	-e 's/gen_$//' \
- 	-e 's/  / /g' >>$TMP
- 
-+cat >$ED1 <<EOF
-+s/  / /g
-+s/^ //
-+s/ $//
-+s/P_NCURSES_BOOL/NCURSES_BOOL/g
-+EOF
-+
-+# A patch discussed here:
-+#	https://gcc.gnu.org/ml/gcc-patches/2014-06/msg02185.html
-+# introduces spurious #line markers.  Work around that by ignoring the system's
-+# attempt to define "bool" and using our own symbol here.
-+sed -e 's/bool/P_NCURSES_BOOL/g' $TMP > $ED2
-+cat $ED2 >$TMP
-+
- $preprocessor $TMP 2>/dev/null \
--| sed \
--	-e 's/  / /g' \
--	-e 's/^ //' \
--	-e 's/_Bool/NCURSES_BOOL/g' \
-+| sed -f $ED1 \
- | $AWK -f $AW2 \
- | sed -f $ED3 \
- | sed \
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 46f24a08b5e..8b3fd8c6678 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -176,13 +176,14 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   NIX_CFLAGS_COMPILE =
-    optionalString stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
-    + optionalString (stdenv.isFreeBSD || stdenv.isDarwin)
-      " -I${glib.dev}/include/glib-2.0 -I${glib.out}/lib/glib-2.0/include"
-    + optionalString stdenv.isDarwin " -I${libcxx}/include/c++/v1";
-
-  NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin)
-    "-lglib-2.0";
+    # with gcc7 the warnings blow the log over Hydra's limit
+    [ "-Wno-expansion-to-defined" "-Wno-unused-local-typedefs" ]
+    ++ optional stdenv.isLinux "-std=gnu++98" # gnu++ in (Obj)C flags is no good on Darwin
+    ++ optionals (stdenv.isFreeBSD || stdenv.isDarwin)
+      [ "-I${glib.dev}/include/glib-2.0" "-I${glib.out}/lib/glib-2.0/include" ]
+    ++ optional stdenv.isDarwin "-I${libcxx}/include/c++/v1";
+
+  NIX_LDFLAGS = optionalString (stdenv.isFreeBSD || stdenv.isDarwin) "-lglib-2.0";
 
   preBuild = optionalString stdenv.isDarwin ''
     # resolve "extra qualification on member" error
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 4dce9c4e22e..6834b7ce87b 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -31,7 +31,8 @@ qtModule {
   '';
 
   NIX_CFLAGS_COMPILE =
-    optionals flashplayerFix
+    [ "-Wno-expansion-to-defined" ] # with gcc7 this warning blows the log over Hydra's limit
+    ++ optionals flashplayerFix
       [
         ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"''
         ''-DNIXPKGS_LIBGDK2="${getLib gdk_pixbuf}/lib/libgdk-x11-2.0"''
diff --git a/pkgs/development/libraries/usbredir/default.nix b/pkgs/development/libraries/usbredir/default.nix
index 4735375de1f..507c494ea27 100644
--- a/pkgs/development/libraries/usbredir/default.nix
+++ b/pkgs/development/libraries/usbredir/default.nix
@@ -10,7 +10,8 @@ stdenv.mkDerivation rec {
   };
 
   # Works around bunch of "format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'uint64_t {aka long long unsigned int}'" warnings
-  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString (!stdenv.is64bit) "-Wno-error=format";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optional (!stdenv.is64bit) "-Wno-error=format"
+    ++ [ "-Wno-error=format-truncation" ]; # newly detected with gcc-7
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ libusb ];
diff --git a/pkgs/development/python-modules/pythonix/default.nix b/pkgs/development/python-modules/pythonix/default.nix
index dacc27c53a0..6248ed7bf66 100644
--- a/pkgs/development/python-modules/pythonix/default.nix
+++ b/pkgs/development/python-modules/pythonix/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ninja, meson, pkgconfig, gcc7, nixUnstable, isPy3k }:
+{ stdenv, fetchFromGitHub, ninja, meson, pkgconfig, nixUnstable, isPy3k }:
 
 assert isPy3k;
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "1piblysypyr442a6najk4mdh87xc377i2fdbfw6fr569z60mnnnj";
   };
 
-  nativeBuildInputs = [ meson pkgconfig ninja gcc7 ];
+  nativeBuildInputs = [ meson pkgconfig ninja ];
 
   buildInputs = [ nixUnstable ];
 
diff --git a/pkgs/development/tools/analysis/radare2-cutter/default.nix b/pkgs/development/tools/analysis/radare2-cutter/default.nix
new file mode 100644
index 00000000000..3cd1d309e15
--- /dev/null
+++ b/pkgs/development/tools/analysis/radare2-cutter/default.nix
@@ -0,0 +1,48 @@
+{ stdenv, fetchFromGitHub, fetchpatch, qmake, pkgconfig, qtbase, qtsvg, radare2 }:
+
+
+stdenv.mkDerivation rec {
+  name = "radare2-cutter-${version}";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = "radareorg";
+    repo = "cutter";
+    rev = "v${version}";
+    sha256 = "02m5sf45n455hn34y7hrqanj830rc5xhz2ppp1z3mzbz0s515pfl";
+  };
+
+  postUnpack = "export sourceRoot=$sourceRoot/src";
+
+  patches = [
+    # Fixup version number :D
+    (fetchpatch {
+      url = "https://github.com/radareorg/cutter/commit/69506b64600df632afdca8b680baa7d946c78644.patch";
+      sha256 = "0ks3ixz8bycjcfi26bd0p6z7qaplhq00alw44hsfzpdm4bmr01x0";
+    })
+    (fetchpatch {
+      url = "https://github.com/radareorg/cutter/commit/8b52c66f4f0091cd9d97389b32aa519c2c602e2b.patch";
+      sha256 = "0wcdn35lx2943pfzm7mkg4sr82pm0qz3yxf74m8fxbd70s3w0gkm";
+    })
+
+    # case-insensitive filtering
+    (fetchpatch {
+      url = "https://github.com/radareorg/cutter/commit/0ebd34370bcaed00000168147572bb78106eeab1.patch";
+      sha256 = "0sc50jwhncfnd2i5mlyld4dbdzi2ws7nh4yglkhlap9l9h1jxn20";
+    })
+  ];
+
+  patchFlags = [ "-p2" ];
+
+  nativeBuildInputs = [ qmake pkgconfig ];
+  buildInputs = [ qtbase qtsvg radare2 ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A Qt and C++ GUI for radare2 reverse engineering framework";
+    homepage = src.meta.homepage;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ dtzWill ];
+  };
+}
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 49f6aeb7279..6a7992b0131 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, fetchurl, fetchpatch, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
+{stdenv, fetchFromGitHub, fetchgit, fetchurl, fetchpatch, pkgconfig, libusb, readline, libewf, perl, zlib, openssl, git,
 gtk2 ? null, vte ? null, gtkdialog ? null,
 python ? null,
 ruby ? null,
@@ -13,32 +13,33 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  version = "2.2.0";
+  version = "2.3.0";
   name = "radare2-${version}";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "0rd1dfgwdpn3x1pzi67sw040vxywbg5h6yw0mj317p0p1cvlyihl";
+    sha256 = "0x5vcprqf0fnj876mdvryfvg7ymbrw1cxrr7a06v0swg7yql1lpw";
   };
 
   postPatch = let
-    cs_ver = "3.0.4"; # version from $sourceRoot/shlr/Makefile
-    capstone = fetchurl {
-      url = "https://github.com/aquynh/capstone/archive/${cs_ver}.tar.gz";
-      sha256 = "1whl5c8j6vqvz2j6ay2pyszx0jg8d3x8hq66cvgghmjchvsssvax";
+    cs_tip = "bdbc57de63725a98732ddc34b48de96f8ada66f2"; # version from $sourceRoot/shlr/Makefile
+    capstone = fetchgit {
+      url = "https://github.com/aquynh/capstone.git";
+      rev = cs_tip;
+      sha256 = "1sqxpjf2dlrg87dm9p39p5d1qzahrnfnrjijpv1xg1shax439jni";
+      leaveDotGit = true;
     };
   in ''
-    if ! grep -F "CS_VER=${cs_ver}" shlr/Makefile; then echo "CS_VER mismatch"; exit 1; fi
-    substituteInPlace shlr/Makefile --replace CS_RELEASE=0 CS_RELEASE=1
-    cp ${capstone} shlr/capstone-${cs_ver}.tar.gz
-
+    if ! grep -F "CS_TIP=${cs_tip}" shlr/Makefile; then echo "CS_TIP mismatch"; exit 1; fi
+    cp -r ${capstone} shlr/capstone
+    chmod -R u+rw shlr/capstone
   '';
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig git ];
   buildInputs = [ readline libusb libewf perl zlib openssl]
     ++ optional useX11 [gtkdialog vte gtk2]
     ++ optional rubyBindings [ruby]
diff --git a/pkgs/development/tools/misc/openocd/default.nix b/pkgs/development/tools/misc/openocd/default.nix
index 2ab0dbd1b5f..73c5b762318 100644
--- a/pkgs/development/tools/misc/openocd/default.nix
+++ b/pkgs/development/tools/misc/openocd/default.nix
@@ -25,6 +25,12 @@ stdenv.mkDerivation rec {
     "--enable-remote-bitbang"
   ];
 
+  NIX_CFLAGS_COMPILE = [
+    "-Wno-implicit-fallthrough"
+    "-Wno-format-truncation"
+    "-Wno-format-overflow"
+  ];
+
   postInstall = ''
     mkdir -p "$out/etc/udev/rules.d"
     rules="$out/share/openocd/contrib/60-openocd.rules"
diff --git a/pkgs/misc/riscv-pk/default.nix b/pkgs/misc/riscv-pk/default.nix
new file mode 100644
index 00000000000..025d591d137
--- /dev/null
+++ b/pkgs/misc/riscv-pk/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub, autoreconfHook }: let
+  rev = "e5846a2bc707eaa58dc8ab6a8d20a090c6ee8570";
+  sha256 = "1clynpp70fnbgsjgxx7xi0vrdrj1v0h8zpv0x26i324kp2gwylf4";
+  revCount = "438";
+  shortRev = "e5846a2";
+in stdenv.mkDerivation {
+  name = "riscv-pk-0.1pre${revCount}_${shortRev}";
+
+  src = fetchFromGitHub {
+    owner = "riscv";
+    repo = "riscv-pk";
+    inherit rev sha256;
+  };
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  preConfigure = ''
+    mkdir build
+    cd build
+  '';
+
+  configureScript = "../configure";
+
+  hardeningDisable = [ "all" ];
+
+  meta = {
+    description = "RISC-V Proxy Kernel and Bootloader.";
+    homepage = https://github.com/riscv/riscv-pk;
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = [ stdenv.lib.maintainers.shlevy ];
+  };
+}
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index aa273ec613e..4e2d2b38841 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "${prefix}ffado-${version}";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchurl {
     url = "http://www.ffado.org/files/libffado-${version}.tgz";
-    sha256 = "122z8gya60nyg47i738z2yr4qcjyk2xix4kwhf5ybkmp23kcgqqq";
+    sha256 = "14rprlcd0gpvg9kljh0zzjzd2rc9hbqqpjidshxxjvvfh4r00f4f";
   };
 
   nativeBuildInputs = [ scons pkgconfig which makeWrapper python ];
@@ -41,12 +41,8 @@ stdenv.mkDerivation rec {
     optXdg_utils libxmlxx glibmm
   ];
 
-  patches = [
-    ./gcc6.patch
-    ./glibc226.patch
-  ];
-
   postPatch = ''
+    sed '1iimport sys' -i SConstruct
     # SConstruct checks cpuinfo and an objdump of /bin/mount to determine the appropriate arch
     # Let's just skip this and tell it which to build
     sed '/def is_userspace_32bit(cpuinfo):/a\
diff --git a/pkgs/os-specific/linux/ffado/gcc6.patch b/pkgs/os-specific/linux/ffado/gcc6.patch
deleted file mode 100644
index f9cad9c88ab..00000000000
--- a/pkgs/os-specific/linux/ffado/gcc6.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Author: Adrian Knoth <adi@drcomp.erfurt.thur.de>
-Forwarded: Yes
-Applied-Upstream: 2.3.1
-Last-Update: 2016-08-11
-Description: Fix FTBFS with gcc6
-
-Index: b/src/ffadotypes.h
-===================================================================
---- a/src/ffadotypes.h
-+++ b/src/ffadotypes.h
-@@ -51,6 +51,8 @@ struct ffado_handle {
- };
- 
- 
-+#include <cmath>
-+#include <algorithm>
- #include <vector>
- #include <string>
- 
diff --git a/pkgs/os-specific/linux/ffado/glibc226.patch b/pkgs/os-specific/linux/ffado/glibc226.patch
deleted file mode 100644
index e147ee9aa76..00000000000
--- a/pkgs/os-specific/linux/ffado/glibc226.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- libffado/src/libutil/PosixMessageQueue.cpp  (revision 2705)
-+++ libffado/src/libutil/PosixMessageQueue.cpp  (revision 2706)
-@@ -30,6 +30,7 @@
- #include <errno.h>
- #include <string.h>
- #include <poll.h>
-+#include <signal.h>
-
- #define MQ_INVALID_ID ((mqd_t) -1)
- // one second
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 216a7c7cb85..f69865cdc4d 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -4,15 +4,10 @@
 , utillinux
 , writeTextFile, ubootTools
 , callPackage
-, overrideCC, gcc7
 }:
 
 { stdenv, buildPackages, perl, buildLinux
 
-, # Allow really overriding even our gcc7 default.
-  # We want gcc >= 7.3 to enable the "retpoline" mitigation of security problems.
-  stdenvNoOverride ? overrideCC stdenv gcc7
-
 , # The kernel source tarball.
   src
 
@@ -37,14 +32,12 @@
   # optionally be compressed with gzip or bzip2.
   kernelPatches ? []
 , ignoreConfigErrors ? hostPlatform.platform.name != "pc" ||
-                       hostPlatform != stdenvNoOverride.buildPlatform
+                       hostPlatform != stdenv.buildPlatform
 , extraMeta ? {}
 , hostPlatform
 , ...
 } @ args:
 
-let stdenv = stdenvNoOverride; in # finish the rename
-
 assert stdenv.isLinux;
 
 let
diff --git a/pkgs/os-specific/linux/libsepol/default.nix b/pkgs/os-specific/linux/libsepol/default.nix
index 0417bf59cfa..f7f393afb39 100644
--- a/pkgs/os-specific/linux/libsepol/default.nix
+++ b/pkgs/os-specific/linux/libsepol/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
     makeFlagsArray+=("DESTDIR=$out")
   '';
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=implicit-fallthrough" ];
+
   passthru = { inherit se_release se_url; };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/os-specific/linux/reptyr/default.nix b/pkgs/os-specific/linux/reptyr/default.nix
index 779337e85f8..4b83e478dd1 100644
--- a/pkgs/os-specific/linux/reptyr/default.nix
+++ b/pkgs/os-specific/linux/reptyr/default.nix
@@ -13,6 +13,9 @@ stdenv.mkDerivation rec {
     sed 1i'#include <sys/sysmacros.h>' -i platform/linux/linux.c
   '';
 
+  # Needed with GCC 7
+  NIX_CFLAGS_COMPILE = "-Wno-error=format-truncation";
+
   makeFlags = ["PREFIX=$(out)"];
   meta = {
     platforms = [ "i686-linux" "x86_64-linux" ];
diff --git a/pkgs/stdenv/linux/default.nix b/pkgs/stdenv/linux/default.nix
index 249f788c17a..703800deb2a 100644
--- a/pkgs/stdenv/linux/default.nix
+++ b/pkgs/stdenv/linux/default.nix
@@ -248,9 +248,9 @@ in
       gmp = super.gmp.override { stdenv = self.makeStaticLibraries self.stdenv; };
       mpfr = super.mpfr.override { stdenv = self.makeStaticLibraries self.stdenv; };
       libmpc = super.libmpc.override { stdenv = self.makeStaticLibraries self.stdenv; };
-      isl_0_14 = super.isl_0_14.override { stdenv = self.makeStaticLibraries self.stdenv; };
+      isl_0_17 = super.isl_0_17.override { stdenv = self.makeStaticLibraries self.stdenv; };
       gcc-unwrapped = super.gcc-unwrapped.override {
-        isl = isl_0_14;
+        isl = isl_0_17;
       };
     };
     extraNativeBuildInputs = [ prevStage.patchelf prevStage.paxctl ] ++
diff --git a/pkgs/stdenv/linux/make-bootstrap-tools.nix b/pkgs/stdenv/linux/make-bootstrap-tools.nix
index 71347ef8392..8033d47d5db 100644
--- a/pkgs/stdenv/linux/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/linux/make-bootstrap-tools.nix
@@ -5,7 +5,6 @@
 let
   pkgs = import ../../.. { inherit localSystem crossSystem; };
   libc = pkgs.stdenv.cc.libc;
-  isl = with pkgs; if targetPlatform.isRiscV then isl_0_17 else isl_0_14;
 in with pkgs; rec {
 
 
@@ -144,7 +143,7 @@ in with pkgs; rec {
         # These needed for cross but not native tools because the stdenv
         # GCC has certain things built in statically. See
         # pkgs/stdenv/linux/default.nix for the details.
-        cp -d ${isl.out}/lib/libisl*.so* $out/lib
+        cp -d ${isl_0_17.out}/lib/libisl*.so* $out/lib
 
       '' + ''
         cp -d ${bzip2.out}/lib/libbz2.so* $out/lib
diff --git a/pkgs/tools/misc/less/default.nix b/pkgs/tools/misc/less/default.nix
index 2907af43a29..57eeb39f543 100644
--- a/pkgs/tools/misc/less/default.nix
+++ b/pkgs/tools/misc/less/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ncurses, lessSecure ? false }:
 
 stdenv.mkDerivation rec {
-  name = "less-529";
+  name = "less-530";
 
   src = fetchurl {
     url = "http://www.greenwoodsoftware.com/less/${name}.tar.gz";
-    sha256 = "02wspzv90cki8936m50qxk0vrribvwwqlva21nyvfx41qga2r96v";
+    sha256 = "1qpj2z38c53qmvqn8jaa0kq26q989cfbfjj4y0s6z17l1amr2gsh";
   };
 
   configureFlags = [ "--sysconfdir=/etc" ] # Look for ‘sysless’ in /etc.
diff --git a/pkgs/tools/networking/dhcp/default.nix b/pkgs/tools/networking/dhcp/default.nix
index e7a593ff830..1812e95dcbb 100644
--- a/pkgs/tools/networking/dhcp/default.nix
+++ b/pkgs/tools/networking/dhcp/default.nix
@@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
   ] ++ stdenv.lib.optionals (openldap != null) [ "--with-ldap" "--with-ldapcrypto" ];
 
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=pointer-compare" ];
+
   installFlags = [ "DESTDIR=\${out}" ];
 
   postInstall =
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index d1a90d9d1aa..b307a8f6f13 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -53,6 +53,8 @@ stdenv.mkDerivation rec {
     sed 's|LIBS += -lstdc++.6||' -i Makefile
   '';
 
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ];
+
   meta = with stdenv.lib; {
     description = "High-speed web-based traffic analysis and flow collection tool";
     homepage = http://www.ntop.org/products/ntop/;
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index b88e3fa6f43..58783a148ec 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5790,12 +5790,8 @@ with pkgs;
   gambit = callPackage ../development/compilers/gambit { };
   gerbil = callPackage ../development/compilers/gerbil { };
 
-  # !!! When updating to gcc7 everywhere we can get rid of the
-  # isRiscV overrides here and in gccCrossStageStatic
-  gccFun6 = callPackage ../development/compilers/gcc/6;
-  gccFun7 = callPackage ../development/compilers/gcc/7;
-  gccFun = if targetPlatform.isRiscV then gccFun7 else gccFun6;
-  gcc = if targetPlatform.isRiscV then gcc7 else gcc6;
+  gccFun = callPackage ../development/compilers/gcc/7;
+  gcc = gcc7;
   gcc-unwrapped = gcc.cc;
 
   gccStdenv = if stdenv.cc.isGNU then stdenv else stdenv.override {
@@ -5875,7 +5871,6 @@ with pkgs;
       bintools = binutils-unwrapped;
       libc = libcCross1;
     };
-    isl = if targetPlatform.isRiscV then isl_0_17 else isl_0_14;
     in wrapCCWith {
       name = "gcc-cross-wrapper";
       cc = gccFun {
@@ -5883,7 +5878,7 @@ with pkgs;
         inherit noSysDirs;
         # PGO seems to speed up compilation by gcc by ~10%, see #445 discussion
         profiledCompiler = with stdenv; (!isDarwin && (isi686 || isx86_64));
-        isl = if !stdenv.isDarwin then isl else null;
+        isl = if !stdenv.isDarwin then isl_0_17 else null;
 
         # just for stage static
         crossStageStatic = true;
@@ -5988,7 +5983,7 @@ with pkgs;
     isl = isl_0_17;
   }));
 
-  gfortran = gfortran6;
+  gfortran = gfortran7;
 
   gfortran48 = wrapCC (gcc48.cc.override {
     name = "gfortran";
@@ -6451,6 +6446,8 @@ with pkgs;
     };
     libxml2 = libxml2.override { pythonSupport = false; };
     python2 = callPackage ../development/interpreters/python/cpython/2.7/boot.nix { inherit (darwin) CF configd; };
+  } // stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+    stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
   });
 
   manticore = callPackage ../development/compilers/manticore { };
@@ -6567,7 +6564,10 @@ with pkgs;
   };
 
   # For beta and nightly releases use the nixpkgs-mozilla overlay
-  rust = callPackage ../development/compilers/rust { };
+  rust = callPackage ../development/compilers/rust
+    (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+      stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
+    });
   inherit (rust) cargo rustc;
 
   buildRustCrate = callPackage ../build-support/rust/build-rust-crate.nix { };
@@ -7075,12 +7075,7 @@ with pkgs;
 
   pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { };
 
-  racket = callPackage ../development/interpreters/racket {
-    # racket 6.11 doesn't build with gcc6 + recent glibc:
-    # https://github.com/racket/racket/pull/1886
-    # https://github.com/NixOS/nixpkgs/pull/31017#issuecomment-343574769
-    stdenv = overrideCC stdenv gcc7;
-  };
+  racket = callPackage ../development/interpreters/racket { };
 
   rakudo = callPackage ../development/interpreters/rakudo {
     inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
@@ -7928,6 +7923,7 @@ with pkgs;
     rubyBindings = config.radare.rubyBindings or false;
     luaBindings = config.radare.luaBindings or false;
   };
+  radare2-cutter = libsForQt5.callPackage ../development/tools/analysis/radare2-cutter { };
 
   ragel = ragelStable;
 
@@ -8804,7 +8800,9 @@ with pkgs;
     glibc32 = pkgsi686Linux.glibc;
   };
 
-  glm = callPackage ../development/libraries/glm { };
+  glm = callPackage ../development/libraries/glm
+    (lib.optionalAttrs stdenv.cc.isGNU { stdenv = overrideCC stdenv gcc6;/*maybe a hack*/ });
+
   glm_0954 = callPackage ../development/libraries/glm/0954.nix { };
 
   globalplatform = callPackage ../development/libraries/globalplatform { };
@@ -9145,8 +9143,14 @@ with pkgs;
 
   hyena = callPackage ../development/libraries/hyena { };
 
-  icu58 = callPackage ../development/libraries/icu/58.nix { };
-  icu59 = callPackage ../development/libraries/icu/59.nix { };
+  icu58 = callPackage ../development/libraries/icu/58.nix
+    (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+      stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
+    });
+  icu59 = callPackage ../development/libraries/icu/59.nix
+    (stdenv.lib.optionalAttrs (stdenv.cc.isGNU && stdenv.hostPlatform.isi686) {
+      stdenv = overrideCC stdenv gcc6; # with gcc-7: undefined reference to `__divmoddi4'
+    });
 
   icu = icu59;
 
@@ -10412,8 +10416,12 @@ with pkgs;
 
   notify-sharp = callPackage ../development/libraries/notify-sharp { };
 
-  ncurses5 = callPackage ../development/libraries/ncurses { abiVersion = "5"; };
-  ncurses6 = callPackage ../development/libraries/ncurses { abiVersion = "6"; };
+  ncurses5 = callPackage ../development/libraries/ncurses {
+    abiVersion = "5";
+  };
+  ncurses6 = callPackage ../development/libraries/ncurses {
+    abiVersion = "6";
+  };
   ncurses = ncurses6;
 
   neardal = callPackage ../development/libraries/neardal { };
@@ -11496,6 +11504,7 @@ with pkgs;
   webkitgtk218x = callPackage ../development/libraries/webkitgtk/2.18.nix {
     harfbuzz = harfbuzz-icu;
     inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
+    stdenv = overrideCC stdenv gcc6;
   };
 
   webkitgtk24x-gtk2 = webkitgtk24x-gtk3.override {
@@ -13540,6 +13549,8 @@ with pkgs;
 
   rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { };
 
+  riscv-pk = callPackage ../misc/riscv-pk { };
+
   rtkit = callPackage ../os-specific/linux/rtkit { };
 
   rt5677-firmware = callPackage ../os-specific/linux/firmware/rt5677 { };
@@ -14550,6 +14561,7 @@ with pkgs;
   blender = callPackage  ../applications/misc/blender {
     cudaSupport = config.cudaSupport or false;
     python = python35;
+    stdenv = overrideCC stdenv gcc6;
   };
 
   bluefish = callPackage ../applications/editors/bluefish {
@@ -15957,6 +15969,7 @@ with pkgs;
 
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
+    stdenv = overrideCC stdenv gcc6;
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
@@ -16668,7 +16681,9 @@ with pkgs;
 
   openfx = callPackage ../development/libraries/openfx {};
 
-  openimageio = callPackage ../applications/graphics/openimageio { };
+  openimageio = callPackage ../applications/graphics/openimageio {
+    stdenv = overrideCC stdenv gcc6;
+  };
 
   openjump = callPackage ../applications/misc/openjump { };
 
@@ -18340,7 +18355,9 @@ with pkgs;
 
   armagetronad = callPackage ../games/armagetronad { };
 
-  arx-libertatis = callPackage ../games/arx-libertatis { };
+  arx-libertatis = callPackage ../games/arx-libertatis {
+    stdenv = overrideCC stdenv gcc6;
+  };
 
   asc = callPackage ../games/asc {
     lua = lua5_1;
@@ -18692,9 +18709,7 @@ with pkgs;
 
   openmw = callPackage ../games/openmw { };
 
-  openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix {
-    stdenv = overrideCC stdenv gcc7;
-  };
+  openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { };
 
   openra = callPackage ../games/openra { lua = lua5_1; };