From fac5757eecc5f0ca2e2e275e4f0a436368d822de Mon Sep 17 00:00:00 2001 From: Martin Weinelt Date: Thu, 8 Jul 2021 18:33:05 +0200 Subject: [PATCH] cpython: disable no-semantic-interposition with older clang versions > clang-7: error: unknown argument: '-fno-semantic-interposition' This primarily affects current darwin builds, but as soon as they migrate to a newer clang version they will immediately start benefitting from this change. --- pkgs/development/interpreters/python/cpython/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix index 842d132fd44c7..e9fdc638f6aeb 100644 --- a/pkgs/development/interpreters/python/cpython/default.nix +++ b/pkgs/development/interpreters/python/cpython/default.nix @@ -40,7 +40,8 @@ , static ? stdenv.hostPlatform.isStatic , enableOptimizations ? false # enableNoSemanticInterposition is a subset of the enableOptimizations flag that doesn't harm reproducibility. -, enableNoSemanticInterposition ? true +# clang starts supporting `-fno-sematic-interposition` with version 10 +, enableNoSemanticInterposition ? (!stdenv.cc.isClang || (stdenv.cc.isClang && lib.versionAtLeast stdenv.cc.version "10")) # enableLTO is a subset of the enableOptimizations flag that doesn't harm reproducibility. # enabling LTO on 32bit arch causes downstream packages to fail when linking , enableLTO ? stdenv.is64bit