about summary refs log tree commit diff
diff options
context:
space:
mode:
authorSergei Trofimovich <slyich@gmail.com>2024-02-19 22:05:13 +0000
committerSergei Trofimovich <slyich@gmail.com>2024-02-19 22:05:13 +0000
commit70f9aaa0f49cb85c555d2206952d8aafc94bb463 (patch)
tree2944540b09760e99ffc51c070b2a8fda507a7ba2
parent602128297982101b77bd4a011bda0f50e62bfb51 (diff)
mps: fix `gcc-13` build failure by dropping `-Werror`
Without the change build fails on `master` as
https://hydra.nixos.org/build/249125931:

    ss.c: In function 'StackHot':
    ss.c:38:13: error: storing the address of local variable 'stackOut' in '*stackOut' [-Werror=dangling-pointer=8]
       38 |   *stackOut = &stackOut;
          |   ~~~~~~~~~~^~~~~~~~~~~

Blanket `-Werror` tends to break with minor toolchain and dependency
changes. It's a reasonable option to test upstream and use downstream
only if upstream is quick at addressing builds failures. `gcc-13` is
almost a year old.
-rw-r--r--pkgs/development/libraries/mps/default.nix16
1 files changed, 8 insertions, 8 deletions
diff --git a/pkgs/development/libraries/mps/default.nix b/pkgs/development/libraries/mps/default.nix
index 3cc6d9ce35100..fd6e5d60bf7b8 100644
--- a/pkgs/development/libraries/mps/default.nix
+++ b/pkgs/development/libraries/mps/default.nix
@@ -16,17 +16,17 @@ stdenv.mkDerivation rec {
     hash = "sha256-3ql3jWLccgnQHKf23B1en+nJ9rxqmHcWd7aBr93YER0=";
   };
 
+  postPatch = ''
+    # Disable -Werror to avoid biuld failure on fresh toolchains like
+    # gcc-13.
+    substituteInPlace code/gc.gmk --replace-fail '-Werror ' ' '
+    substituteInPlace code/gp.gmk --replace-fail '-Werror ' ' '
+    substituteInPlace code/ll.gmk --replace-fail '-Werror ' ' '
+  '';
+
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ sqlite ];
 
-  # needed for 1.116.0 to build with gcc7
-  env.NIX_CFLAGS_COMPILE = toString [
-    "-Wno-implicit-fallthrough"
-    "-Wno-error=clobbered"
-    "-Wno-error=cast-function-type"
-  ];
-
-
   meta = {
     description = "A flexible memory management and garbage collection library";
     homepage    = "https://www.ravenbrook.com/project/mps";