diff options
author | Rahul Butani <rrbutani@users.noreply.github.com> | 2023-02-14 00:46:15 -0600 |
---|---|---|
committer | Artturin <Artturin@artturin.com> | 2023-09-07 22:36:07 +0300 |
commit | 626c8c3224893df4b6eab1ff01df8abaad1c3476 (patch) | |
tree | fdea4cc4af91c149634a47e41ebf10cf1117a386 /pkgs/test | |
parent | 8b4f80741c6b832ad866ea1b5ec79ef7dbba2650 (diff) |
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.
Diffstat (limited to 'pkgs/test')
-rw-r--r-- | pkgs/test/default.nix | 57 |
1 files changed, 26 insertions, 31 deletions
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix index 979fb6b6db865..77531d4e6a385 100644 --- a/pkgs/test/default.nix +++ b/pkgs/test/default.nix @@ -3,37 +3,32 @@ with pkgs; { - cc-wrapper = callPackage ./cc-wrapper { }; - cc-wrapper-gcc = callPackage ./cc-wrapper { stdenv = gccStdenv; }; - cc-wrapper-gcc7 = callPackage ./cc-wrapper { stdenv = gcc7Stdenv; }; - cc-wrapper-gcc8 = callPackage ./cc-wrapper { stdenv = gcc8Stdenv; }; - cc-wrapper-gcc9 = callPackage ./cc-wrapper { stdenv = gcc9Stdenv; }; - cc-wrapper-clang = callPackage ./cc-wrapper { stdenv = llvmPackages.stdenv; }; - cc-wrapper-libcxx = callPackage ./cc-wrapper { stdenv = llvmPackages.libcxxStdenv; }; - cc-wrapper-clang-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.stdenv; }; - cc-wrapper-libcxx-5 = callPackage ./cc-wrapper { stdenv = llvmPackages_5.libcxxStdenv; }; - cc-wrapper-clang-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.stdenv; }; - cc-wrapper-libcxx-6 = callPackage ./cc-wrapper { stdenv = llvmPackages_6.libcxxStdenv; }; - cc-wrapper-clang-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.stdenv; }; - cc-wrapper-libcxx-7 = callPackage ./cc-wrapper { stdenv = llvmPackages_7.libcxxStdenv; }; - cc-wrapper-clang-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.stdenv; }; - cc-wrapper-libcxx-8 = callPackage ./cc-wrapper { stdenv = llvmPackages_8.libcxxStdenv; }; - cc-wrapper-clang-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.stdenv; }; - cc-wrapper-libcxx-9 = callPackage ./cc-wrapper { stdenv = llvmPackages_9.libcxxStdenv; }; - cc-wrapper-clang-10 = callPackage ./cc-wrapper { stdenv = llvmPackages_10.stdenv; }; - cc-wrapper-libcxx-10 = callPackage ./cc-wrapper { stdenv = llvmPackages_10.libcxxStdenv; }; - cc-wrapper-clang-11 = callPackage ./cc-wrapper { stdenv = llvmPackages_11.stdenv; }; - cc-wrapper-libcxx-11 = callPackage ./cc-wrapper { stdenv = llvmPackages_11.libcxxStdenv; }; - cc-wrapper-clang-12 = callPackage ./cc-wrapper { stdenv = llvmPackages_12.stdenv; }; - cc-wrapper-libcxx-12 = callPackage ./cc-wrapper { stdenv = llvmPackages_12.libcxxStdenv; }; - cc-wrapper-clang-13 = callPackage ./cc-wrapper { stdenv = llvmPackages_13.stdenv; }; - cc-wrapper-libcxx-13 = callPackage ./cc-wrapper { stdenv = llvmPackages_13.libcxxStdenv; }; - 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; }; + cc-wrapper = with builtins; let + pkgNames = (attrNames pkgs); + llvmTests = let + pkgSets = lib.pipe pkgNames [ + (filter (lib.hasPrefix "llvmPackages")) + (filter (n: n != "llvmPackages_rocm")) + (filter (n: n != "llvmPackages_latest")) + (filter (n: n != "llvmPackages_git")) + ]; + tests = lib.genAttrs pkgSets (name: recurseIntoAttrs { + clang = callPackage ./cc-wrapper { stdenv = pkgs.${name}.stdenv; }; + libcxx = callPackage ./cc-wrapper { stdenv = pkgs.${name}.libcxxStdenv; }; + }); + in + recurseIntoAttrs tests; + gccTests = let + pkgSets = lib.pipe (attrNames pkgs) [ + (filter (lib.hasPrefix "gcc")) + (filter (lib.hasSuffix "Stdenv")) + (filter (n: n != "gccCrossLibcStdenv")) + ]; + in lib.genAttrs pkgSets (name: callPackage ./cc-wrapper { stdenv = pkgs.${name}; }); + in recurseIntoAttrs { + default = callPackage ./cc-wrapper { }; + } // llvmTests // gccTests; + stdenv-inputs = callPackage ./stdenv-inputs { }; stdenv = callPackage ./stdenv { }; |