tests.cc-wrapper: rework the logic, test newer gcc stdenvs too

ignore `llvmPackages_latest`, it's an alias and it'll be a duplicate.
ignore `llvmPackages_git`, it's not supposed to be used in nixpkgs and
may be broken.
This commit is contained in:
Rahul Butani
2023-02-14 00:46:15 -06:00
committed by Artturin
parent 8b4f80741c
commit 626c8c3224

View File

@@ -3,37 +3,32 @@
with pkgs; with pkgs;
{ {
cc-wrapper = callPackage ./cc-wrapper { }; cc-wrapper = with builtins; let
cc-wrapper-gcc = callPackage ./cc-wrapper { stdenv = gccStdenv; }; pkgNames = (attrNames pkgs);
cc-wrapper-gcc7 = callPackage ./cc-wrapper { stdenv = gcc7Stdenv; }; llvmTests = let
cc-wrapper-gcc8 = callPackage ./cc-wrapper { stdenv = gcc8Stdenv; }; pkgSets = lib.pipe pkgNames [
cc-wrapper-gcc9 = callPackage ./cc-wrapper { stdenv = gcc9Stdenv; }; (filter (lib.hasPrefix "llvmPackages"))
cc-wrapper-clang = callPackage ./cc-wrapper { stdenv = llvmPackages.stdenv; }; (filter (n: n != "llvmPackages_rocm"))
cc-wrapper-libcxx = callPackage ./cc-wrapper { stdenv = llvmPackages.libcxxStdenv; }; (filter (n: n != "llvmPackages_latest"))
cc-wrapper-clang-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.stdenv; }; (filter (n: n != "llvmPackages_git"))
cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; }; ];
cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; }; tests = lib.genAttrs pkgSets (name: recurseIntoAttrs {
cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; }; clang = callPackage ./cc-wrapper { stdenv = pkgs.${name}.stdenv; };
cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; }; libcxx = callPackage ./cc-wrapper { stdenv = pkgs.${name}.libcxxStdenv; };
cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; }; });
cc-wrapper-clang-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.stdenv; }; in
cc-wrapper-libcxx-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.libcxxStdenv; }; recurseIntoAttrs tests;
cc-wrapper-clang-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.stdenv; }; gccTests = let
cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; }; pkgSets = lib.pipe (attrNames pkgs) [
cc-wrapper-clang-10 = callPackage ./cc-wrapper { stdenv = llvmPackages_10.stdenv; }; (filter (lib.hasPrefix "gcc"))
cc-wrapper-libcxx-10 = callPackage ./cc-wrapper { stdenv = llvmPackages_10.libcxxStdenv; }; (filter (lib.hasSuffix "Stdenv"))
cc-wrapper-clang-11 = callPackage ./cc-wrapper { stdenv = llvmPackages_11.stdenv; }; (filter (n: n != "gccCrossLibcStdenv"))
cc-wrapper-libcxx-11 = callPackage ./cc-wrapper { stdenv = llvmPackages_11.libcxxStdenv; }; ];
cc-wrapper-clang-12 = callPackage ./cc-wrapper { stdenv = llvmPackages_12.stdenv; }; in lib.genAttrs pkgSets (name: callPackage ./cc-wrapper { stdenv = pkgs.${name}; });
cc-wrapper-libcxx-12 = callPackage ./cc-wrapper { stdenv = llvmPackages_12.libcxxStdenv; }; in recurseIntoAttrs {
cc-wrapper-clang-13 = callPackage ./cc-wrapper { stdenv = llvmPackages_13.stdenv; }; default = callPackage ./cc-wrapper { };
cc-wrapper-libcxx-13 = callPackage ./cc-wrapper { stdenv = llvmPackages_13.libcxxStdenv; }; } // llvmTests // gccTests;
cc-wrapper-clang-14 = callPackage ./cc-wrapper { stdenv = llvmPackages_14.stdenv; };
cc-wrapper-libcxx-14 = callPackage ./cc-wrapper { stdenv = llvmPackages_14.libcxxStdenv; };
cc-wrapper-clang-15 = callPackage ./cc-wrapper { stdenv = llvmPackages_15.stdenv; };
cc-wrapper-libcxx-15 = callPackage ./cc-wrapper { stdenv = llvmPackages_15.libcxxStdenv; };
cc-wrapper-clang-git = callPackage ./cc-wrapper { stdenv = llvmPackages_git.stdenv; };
cc-wrapper-libcxx-git = callPackage ./cc-wrapper { stdenv = llvmPackages_git.libcxxStdenv; };
stdenv-inputs = callPackage ./stdenv-inputs { }; stdenv-inputs = callPackage ./stdenv-inputs { };
stdenv = callPackage ./stdenv { }; stdenv = callPackage ./stdenv { };