diff --git a/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh b/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh new file mode 100644 index 00000000000..53335d7a9a7 --- /dev/null +++ b/pkgs/build-support/setup-hooks/use-old-cxx-abi.sh @@ -0,0 +1 @@ +export NIX_CFLAGS_COMPILE+=" -D_GLIBCXX_USE_CXX11_ABI=0" diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index 35b3611812b..8bb73fc5cef 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -25,8 +25,8 @@ buildFHSUserEnv { ] ++ lib.optional withJava jdk ++ lib.optional withPrimus (primus.override { - stdenv = useOldCXXAbi stdenv; - stdenv_i686 = useOldCXXAbi pkgsi686Linux.stdenv; + stdenv = overrideInStdenv stdenv [ useOldCXXAbi ]; + stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ]; }) ; diff --git a/pkgs/stdenv/adapters.nix b/pkgs/stdenv/adapters.nix index 8398c45400e..87d3938f13d 100644 --- a/pkgs/stdenv/adapters.nix +++ b/pkgs/stdenv/adapters.nix @@ -242,10 +242,4 @@ rec { else pkgs.stdenv; }; - /* Modify a stdenv so a build uses pre-C++11 ABI by default. */ - useOldCXXAbi = stdenv: stdenv // - { mkDerivation = args: stdenv.mkDerivation (args // { - NIX_CFLAGS_COMPILE = toString (args.NIX_CFLAGS_COMPILE or "") + " -D_GLIBCXX_USE_CXX11_ABI=0"; - }); - }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cca23969c83..22303669f9c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -325,6 +325,8 @@ in separateDebugInfo = makeSetupHook { } ../build-support/setup-hooks/separate-debug-info.sh; + useOldCXXAbi = makeSetupHook { } ../build-support/setup-hooks/use-old-cxx-abi.sh; + ### TOOLS