summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Becker <becker33@llnl.gov>2020-01-29 12:39:55 -0800
committerGitHub <noreply@github.com>2020-01-29 12:39:55 -0800
commitbd60e0f13772b4769cbf6831bcd3bc6497fb121b (patch)
tree32a055cc3b3891f707bfff4f5365806cc30201c1
parentda189b8d1d0b9bb920b4af2de4016fe4db043425 (diff)
downloadspack-bd60e0f13772b4769cbf6831bcd3bc6497fb121b.tar.gz
spack-bd60e0f13772b4769cbf6831bcd3bc6497fb121b.tar.bz2
spack-bd60e0f13772b4769cbf6831bcd3bc6497fb121b.tar.xz
spack-bd60e0f13772b4769cbf6831bcd3bc6497fb121b.zip
fix cycle dependency in libxml+python (#13847)
* fix cycle dependency in libxml+python * comment why we need these dependencies
-rw-r--r--var/spack/repos/builtin/packages/libxml2/package.py3
-rw-r--r--var/spack/repos/builtin/packages/python/package.py7
2 files changed, 8 insertions, 2 deletions
diff --git a/var/spack/repos/builtin/packages/libxml2/package.py b/var/spack/repos/builtin/packages/libxml2/package.py
index 6c7d08ab3e..8c91852ae3 100644
--- a/var/spack/repos/builtin/packages/libxml2/package.py
+++ b/var/spack/repos/builtin/packages/libxml2/package.py
@@ -27,7 +27,8 @@ class Libxml2(AutotoolsPackage):
depends_on('zlib')
depends_on('xz')
- depends_on('python+shared', when='+python')
+ # avoid cycle dependency for concretizer
+ depends_on('python+shared~libxml2', when='+python')
extends('python', when='+python',
ignore=r'(bin.*$)|(include.*$)|(share.*$)|(lib/libxml2.*$)|'
'(lib/xml2.*$)|(lib/cmake.*$)')
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py
index bdc4a64019..55dfcc9021 100644
--- a/var/spack/repos/builtin/packages/python/package.py
+++ b/var/spack/repos/builtin/packages/python/package.py
@@ -70,6 +70,10 @@ class Python(AutotoolsPackage):
extendable = True
+ # Variants to avoid cyclical dependencies for concretizer
+ variant('libxml2', default=False,
+ description='Use a gettext library build with libxml2')
+
variant(
'debug', default=False,
description="debug build with extra checks (this is high overhead)"
@@ -116,7 +120,8 @@ class Python(AutotoolsPackage):
variant('tix', default=False, description='Build Tix module')
depends_on('pkgconfig@0.9.0:', type='build')
- depends_on('gettext')
+ depends_on('gettext +libxml2', when='+libxml2')
+ depends_on('gettext ~libxml2', when='~libxml2')
# Optional dependencies
# See detect_modules() in setup.py for details