From d19362526fb242b835336691f24950609b769e50 Mon Sep 17 00:00:00 2001 From: Steve Purcell Date: Mon, 6 May 2024 18:21:42 +0100 Subject: [PATCH 1/2] libdevil: fix compilation on Darwin with clang Compilation fails now that the default C++ standard is 17, because the (rather old) upstream code uses the "register" keyword. ./../src-IL/include/il_manip.h:63:2: error: ISO C++17 does not allow 'register' storage class specifier [-Wregister] register int m = i & 0x007fffff; ^~~~~~~~~ We could selectively set -std=c++14, but it also seems sufficient to suppress the warning, so this commit chooses that option. --- pkgs/development/libraries/libdevil/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix index 36bd2f9ef12f..c5c1686ac74e 100644 --- a/pkgs/development/libraries/libdevil/default.nix +++ b/pkgs/development/libraries/libdevil/default.nix @@ -35,6 +35,8 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--enable-ILU" "--enable-ILUT" ]; + CXXFLAGS = lib.optionalString stdenv.isDarwin "-Wno-register"; + preConfigure = '' sed -i 's, -std=gnu99,,g' configure sed -i 's,malloc.h,stdlib.h,g' src-ILU/ilur/ilur.c From 90df6a379205eeb94b176a46b549745579d7489b Mon Sep 17 00:00:00 2001 From: Steve Purcell Date: Wed, 8 May 2024 00:55:30 +1200 Subject: [PATCH 2/2] libdevil: check for clang rather than darwin when setting cxxflags MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: éclairevoyant <848000+eclairevoyant@users.noreply.github.com> --- pkgs/development/libraries/libdevil/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/libraries/libdevil/default.nix b/pkgs/development/libraries/libdevil/default.nix index c5c1686ac74e..26c30227f549 100644 --- a/pkgs/development/libraries/libdevil/default.nix +++ b/pkgs/development/libraries/libdevil/default.nix @@ -35,7 +35,7 @@ stdenv.mkDerivation (finalAttrs: { configureFlags = [ "--enable-ILU" "--enable-ILUT" ]; - CXXFLAGS = lib.optionalString stdenv.isDarwin "-Wno-register"; + CXXFLAGS = lib.optionalString stdenv.cc.isClang "-Wno-register"; preConfigure = '' sed -i 's, -std=gnu99,,g' configure