Fix spack package inheritance for module variables (#10097)
* we weren't properly setting module variables for the root package in a DAG -- just for transitive dependencies.
This commit is contained in:

committed by
Todd Gamblin

parent
05f9c68c30
commit
d2d0ab06b7
@@ -0,0 +1,20 @@
|
||||
# Copyright 2013-2018 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)
|
||||
|
||||
import spack.pkg.builtin.mock.simple_inheritance as si
|
||||
|
||||
|
||||
class MultimoduleInheritance(si.BaseWithDirectives):
|
||||
"""Simple package which inherits a method and several directives"""
|
||||
|
||||
homepage = "http://www.example.com"
|
||||
url = "http://www.example.com/multimodule-1.0.tar.gz"
|
||||
|
||||
version('1.0', '0123456789abcdef0123456789abcdef')
|
||||
|
||||
depends_on('openblas', when='+openblas')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
pass
|
@@ -13,6 +13,12 @@ class BaseWithDirectives(Package):
|
||||
variant('openblas', description='Activates openblas', default=True)
|
||||
provides('service1')
|
||||
|
||||
def use_module_variable(self):
|
||||
"""Must be called in build environment. Allows us to test parent class
|
||||
using module variables set up by build_environment."""
|
||||
env['TEST_MODULE_VAR'] = 'test_module_variable'
|
||||
return env['TEST_MODULE_VAR']
|
||||
|
||||
|
||||
class SimpleInheritance(BaseWithDirectives):
|
||||
"""Simple package which acts as a build dependency"""
|
||||
|
Reference in New Issue
Block a user