concretizer: don't require a provider for virtual deps if spec is external

This commit introduces a new rule:

real_node(Package) :- not external(Package), node(Package).

that permits to distinguish between an external node and a
real node that shouldn't trim dependency. It solves the
case of concretizing ninja with an external Python.
This commit is contained in:
Massimiliano Culpo
2020-11-11 19:21:27 +01:00
committed by Todd Gamblin
parent 44aa94a210
commit 9a03fd2834
5 changed files with 33 additions and 3 deletions

View File

@@ -0,0 +1,16 @@
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
class RequiresVirtual(Package):
"""Package that requires a virtual dependency and is registered
as an external.
"""
homepage = "http://www.example.com"
url = "http://www.example.com/a-1.0.tar.gz"
version('2.0', '2.0_a_hash')
depends_on('stuff')