Skip to content

Commit

Permalink
llvmPackages_15.llvm: add in a missing check dep
Browse files Browse the repository at this point in the history
  • Loading branch information
rrbutani committed Jan 27, 2023
1 parent 2a58596 commit 6d0c876
Showing 1 changed file with 28 additions and 2 deletions.
30 changes: 28 additions & 2 deletions pkgs/development/compilers/llvm/15/llvm/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
, which
, buildLlvmTools
, debugVersion ? false
, doCheck ? true
, enableManpages ? false
, enableSharedLibraries ? !stdenv.hostPlatform.isStatic
, enablePFM ? stdenv.isLinux /* PFM only supports Linux */
Expand All @@ -33,6 +34,29 @@ let
shortVersion = with lib;
concatStringsSep "." (take 1 (splitString "." release_version));

# Ordinarily we would just the `doCheck` and `checkDeps` functionality
# `mkDerivation` gives us to manage our test dependencies (instead of breaking
# out `doCheck` as a package level attribute).
#
# Unfortunately `lit` does not forward `$PYTHONPATH` to children processes, in
# particular the children it uses to do feature detection.
#
# This means that python deps we add to `checkDeps` (which the python
# interpreter is made aware of via `$PYTHONPATH` – populated by the python
# setup hook) are not picked up by `lit` which causes it to skip tests.
#
# Adding `python3.withPackages (ps: [ ... ])` to `checkDeps` also doesn't work
# because this package is shadowed in `$PATH` by the regular `python3`
# package.
#
# So, we "manually" assemble one python derivation for the package to depend
# on, taking into account whether checks are enabled or not:
python = if doCheck then
let
checkDeps = ps: with ps; [ psutil ];
in python3.withPackages checkDeps
else python3;

in stdenv.mkDerivation (rec {
pname = "llvm";
inherit version;
Expand All @@ -51,15 +75,17 @@ in stdenv.mkDerivation (rec {

outputs = [ "out" "lib" "dev" "python" ];

nativeBuildInputs = [ cmake ninja python3 ]
nativeBuildInputs = [ cmake ninja python ]
++ optionals enableManpages [ python3.pkgs.sphinx python3.pkgs.recommonmark ];

buildInputs = [ libxml2 libffi ]
++ optional enablePFM libpfm; # exegesis

propagatedBuildInputs = [ ncurses zlib ];

nativeCheckInputs = [ which ];
nativeCheckInputs = [
which
] ++ lib.optional stdenv.isDarwin sysctl;

patches = [
./gnu-install-dirs.patch
Expand Down

0 comments on commit 6d0c876

Please sign in to comment.