Loading pkgs/development/compilers/llvm/15/llvm/default.nix +28 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ , which , buildLlvmTools , debugVersion ? false , doCheck ? true , enableManpages ? false , enableSharedLibraries ? !stdenv.hostPlatform.isStatic , enablePFM ? stdenv.isLinux /* PFM only supports Linux */ Loading @@ -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; Loading @@ -51,7 +75,7 @@ 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 ] Loading @@ -59,7 +83,9 @@ in stdenv.mkDerivation (rec { propagatedBuildInputs = [ ncurses zlib ]; nativeCheckInputs = [ which ]; nativeCheckInputs = [ which ] ++ lib.optional stdenv.isDarwin sysctl; patches = [ ./gnu-install-dirs.patch Loading Loading
pkgs/development/compilers/llvm/15/llvm/default.nix +28 −2 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ , which , buildLlvmTools , debugVersion ? false , doCheck ? true , enableManpages ? false , enableSharedLibraries ? !stdenv.hostPlatform.isStatic , enablePFM ? stdenv.isLinux /* PFM only supports Linux */ Loading @@ -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; Loading @@ -51,7 +75,7 @@ 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 ] Loading @@ -59,7 +83,9 @@ in stdenv.mkDerivation (rec { propagatedBuildInputs = [ ncurses zlib ]; nativeCheckInputs = [ which ]; nativeCheckInputs = [ which ] ++ lib.optional stdenv.isDarwin sysctl; patches = [ ./gnu-install-dirs.patch Loading