From 74c784a79c6908c14c0c13d6c34db93d9a4d2c8d Mon Sep 17 00:00:00 2001
From: Matthew Bauer <mjbauer95@gmail.com>
Date: Mon, 29 Apr 2019 21:28:43 -0400
Subject: [PATCH] treewide: make -Wno-error flags clang-only
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In 724e833ea2a, I was a little too aggressive in enabling these flags.
Many don’t work in gcc, and we should probably avoid settings them
widely. This makes those flags optional on isclang
---
 pkgs/applications/science/astronomy/xplanet/default.nix | 2 +-
 pkgs/applications/science/biology/cmtk/default.nix      | 2 +-
 pkgs/development/libraries/bullet/default.nix           | 2 +-
 pkgs/development/libraries/clucene-core/2.x.nix         | 2 +-
 pkgs/tools/archivers/p7zip/default.nix                  | 2 +-
 pkgs/tools/compression/pbzip2/default.nix               | 2 +-
 pkgs/tools/networking/ntopng/default.nix                | 3 ++-
 7 files changed, 8 insertions(+), 7 deletions(-)

diff --git a/pkgs/applications/science/astronomy/xplanet/default.nix b/pkgs/applications/science/astronomy/xplanet/default.nix
index aae9adfed67a..5f02dc27a224 100644
--- a/pkgs/applications/science/astronomy/xplanet/default.nix
+++ b/pkgs/applications/science/astronomy/xplanet/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     ./gcc6.patch
   ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=c++11-narrowing";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
   meta = {
     description = "Renders an image of the earth or other planets into the X root window";
diff --git a/pkgs/applications/science/biology/cmtk/default.nix b/pkgs/applications/science/biology/cmtk/default.nix
index 90766645ecb3..56de61da1c5a 100644
--- a/pkgs/applications/science/biology/cmtk/default.nix
+++ b/pkgs/applications/science/biology/cmtk/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [cmake];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=c++11-narrowing";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
   meta = with stdenv.lib; {
     description     = "Computational Morphometry Toolkit ";
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index 585e2416b993..b4a2133f7d8f 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=argument-outside-range";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=argument-outside-range";
 
   meta = with stdenv.lib; {
     description = "A professional free 3D Game Multiphysics Library";
diff --git a/pkgs/development/libraries/clucene-core/2.x.nix b/pkgs/development/libraries/clucene-core/2.x.nix
index 03276ce9efd2..91347813a24f 100644
--- a/pkgs/development/libraries/clucene-core/2.x.nix
+++ b/pkgs/development/libraries/clucene-core/2.x.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   # /build/clucene-core-2.3.3.4/build/bin/cl_test"
   doCheck = false;
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=c++11-narrowing";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
   meta = with stdenv.lib; {
     description = "Core library for full-featured text search engine";
diff --git a/pkgs/tools/archivers/p7zip/default.nix b/pkgs/tools/archivers/p7zip/default.nix
index 3dac4245de4e..3b212b186aac 100644
--- a/pkgs/tools/archivers/p7zip/default.nix
+++ b/pkgs/tools/archivers/p7zip/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=c++11-narrowing";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=c++11-narrowing";
 
   meta = {
     homepage = http://p7zip.sourceforge.net/;
diff --git a/pkgs/tools/compression/pbzip2/default.nix b/pkgs/tools/compression/pbzip2/default.nix
index c7c1b7efc944..1d5cd85a62e6 100644
--- a/pkgs/tools/compression/pbzip2/default.nix
+++ b/pkgs/tools/compression/pbzip2/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   installFlags = "PREFIX=$(out)";
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=reserved-user-defined-literal";
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.cc.isClang "-Wno-error=reserved-user-defined-literal";
 
   meta = with stdenv.lib; {
     homepage = http://compression.ca/pbzip2/;
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index b1e1bfcdd65e..06d28e844ff3 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -53,7 +53,8 @@ stdenv.mkDerivation rec {
     sed 's|LIBS += -lstdc++.6||' -i Makefile
   '';
 
-  NIX_CFLAGS_COMPILE = [ "-fpermissive" "-Wno-error=reserved-user-defined-literal" ];
+  NIX_CFLAGS_COMPILE = [ "-fpermissive" ]
+    ++ stdenv.lib.optional stdenv.cc.isClang "-Wno-error=reserved-user-defined-literal";
 
   meta = with stdenv.lib; {
     description = "High-speed web-based traffic analysis and flow collection tool";