diff options
author | Harmen Stoppels <harmenstoppels@gmail.com> | 2022-11-15 14:36:16 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-15 14:36:16 +0100 |
commit | d36c7b20d290ef0f151733ce2a431f703c2082fa (patch) | |
tree | 2a7348501e1809352eef82446121b6bef7f6f1de /var | |
parent | 2948248d7a05820c21b7edb57bdb8570e350b170 (diff) | |
download | spack-d36c7b20d290ef0f151733ce2a431f703c2082fa.tar.gz spack-d36c7b20d290ef0f151733ce2a431f703c2082fa.tar.bz2 spack-d36c7b20d290ef0f151733ce2a431f703c2082fa.tar.xz spack-d36c7b20d290ef0f151733ce2a431f703c2082fa.zip |
python: missing libxcrypt dep (#33847)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Diffstat (limited to 'var')
-rw-r--r-- | var/spack/repos/builtin/packages/python/package.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index 91e635b38a..55bbde3182 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -370,6 +370,9 @@ class Python(Package): variant("tkinter", default=False, description="Build tkinter module") variant("uuid", default=True, description="Build uuid module") variant("tix", default=False, description="Build Tix module") + variant("crypt", default=True, description="Build crypt module", when="@:3.12 platform=linux") + variant("crypt", default=True, description="Build crypt module", when="@:3.12 platform=darwin") + variant("crypt", default=True, description="Build crypt module", when="@:3.12 platform=cray") if not is_windows: depends_on("pkgconfig@0.9.0:", type="build") @@ -405,6 +408,7 @@ class Python(Package): depends_on("tcl", when="+tkinter") depends_on("uuid", when="+uuid") depends_on("tix", when="+tix") + depends_on("libxcrypt", when="+crypt") # Python needs to be patched to build extensions w/ mixed C/C++ code: # https://github.com/NixOS/nixpkgs/pull/19585/files @@ -560,6 +564,14 @@ class Python(Package): except ProcessError: variants += "~tix" + # Some modules are platform-dependent + if not self.spec.satisfies("platform=windows"): + try: + python("-c", "import crypt", error=os.devnull) + variants += "+crypt" + except ProcessError: + variants += "~crypt" + return variants def url_for_version(self, version): @@ -1017,6 +1029,10 @@ class Python(Package): else: self.command("-c", "import Tix") + # Ensure that crypt module works + if "+crypt" in spec: + self.command("-c", "import crypt") + # ======================================================================== # Set up environment to make install easy for python extensions. # ======================================================================== |