From 80ba7040f8bce05af3f9cb561f8192c120f3e874 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 1 Nov 2021 12:55:15 +0000 Subject: python: detect Python from custom Xcode installations (#27023) --- var/spack/repos/builtin/packages/python/package.py | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'var') diff --git a/var/spack/repos/builtin/packages/python/package.py b/var/spack/repos/builtin/packages/python/package.py index e62b49dce1..01d0d9a065 100644 --- a/var/spack/repos/builtin/packages/python/package.py +++ b/var/spack/repos/builtin/packages/python/package.py @@ -797,6 +797,14 @@ for plat_specific in [True, False]: # install libraries into a Frameworks directory frameworkprefix = self.config_vars['PYTHONFRAMEWORKPREFIX'] + # Get the active Xcode environment's Framework location. + macos_developerdir = os.environ.get('DEVELOPER_DIR') + if macos_developerdir and os.path.exists(macos_developerdir): + macos_developerdir = os.path.join( + macos_developerdir, 'Library', 'Frameworks') + else: + macos_developerdir = '' + if '+shared' in self.spec: ldlibrary = self.config_vars['LDLIBRARY'] @@ -806,6 +814,9 @@ for plat_specific in [True, False]: return LibraryList(os.path.join(libpl, ldlibrary)) elif os.path.exists(os.path.join(frameworkprefix, ldlibrary)): return LibraryList(os.path.join(frameworkprefix, ldlibrary)) + elif macos_developerdir and \ + os.path.exists(os.path.join(macos_developerdir, ldlibrary)): + return LibraryList(os.path.join(macos_developerdir, ldlibrary)) else: msg = 'Unable to locate {0} libraries in {1}' raise RuntimeError(msg.format(ldlibrary, libdir)) -- cgit v1.2.3-70-g09d2