git.iko.soy/typeable/nixpkgs
on master help sign in
py3c: unconditionally drop -Werror (fix gcc-11 build)

On gcc-11 build fails as: $ nix-build -E 'with import ./. {}; py3c.override { stdenv = gcc11Stdenv; }' gcc -fno-strict-aliasing ... -Werror -Wall cc1plus: warning: command-line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++ In file included from /nix/store/...-python-2.7.18/include/python2.7/Python.h:88, from test_py3c.cpp:4: /nix/store/...-python-2.7.18/include/python2.7/unicodeobject.h:534:24: error: ISO C++17 does not allow 'register' storage class specifier [-Werror=register] 534 | register PyObject *obj, /* Object */ | ^~~ The fix was already present o clang toolchain. Let's extendt it to all toolchains.

commitc1ff7da0a91ccb74b78757b93eef57aa1b2203e0 authorSergei Trofimovich <slyich@gmail.com> dateTue 28 Sep 2021, 13:03 (5 years ago) parent7affc06
1 file changed+3−1
pkgs/development/libraries/py3c/default.nix+3−1
pkgs/development/libraries/py3c/default.nix+3−1
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
1111 sha256 = "04i2z7hrig78clc59q3i1z2hh24g7z1bfvxznlzxv00d4s57nhpi";
1212 };
1313
14− postPatch = lib.optionalString stdenv.cc.isClang ''
14+ postPatch = ''
15+ # clang and gcc-11 complain about 'register' keywords used by
16+ # python-2.7. Let's avoid blanket -Werror.
1517 substituteInPlace test/setup.py \
1618 --replace "'-Werror', " ""
1719 '';