]> jfr.im git - dlqueue.git/blob - venv/lib/python3.11/site-packages/setuptools/_distutils/command/_framework_compat.py
init: venv aand flask
[dlqueue.git] / venv / lib / python3.11 / site-packages / setuptools / _distutils / command / _framework_compat.py
1 """
2 Backward compatibility for homebrew builds on macOS.
3 """
4
5
6 import sys
7 import os
8 import functools
9 import subprocess
10 import sysconfig
11
12
13 @functools.lru_cache()
14 def enabled():
15 """
16 Only enabled for Python 3.9 framework homebrew builds
17 except ensurepip and venv.
18 """
19 PY39 = (3, 9) < sys.version_info < (3, 10)
20 framework = sys.platform == 'darwin' and sys._framework
21 homebrew = "Cellar" in sysconfig.get_config_var('projectbase')
22 venv = sys.prefix != sys.base_prefix
23 ensurepip = os.environ.get("ENSUREPIP_OPTIONS")
24 return PY39 and framework and homebrew and not venv and not ensurepip
25
26
27 schemes = dict(
28 osx_framework_library=dict(
29 stdlib='{installed_base}/{platlibdir}/python{py_version_short}',
30 platstdlib='{platbase}/{platlibdir}/python{py_version_short}',
31 purelib='{homebrew_prefix}/lib/python{py_version_short}/site-packages',
32 platlib='{homebrew_prefix}/{platlibdir}/python{py_version_short}/site-packages',
33 include='{installed_base}/include/python{py_version_short}{abiflags}',
34 platinclude='{installed_platbase}/include/python{py_version_short}{abiflags}',
35 scripts='{homebrew_prefix}/bin',
36 data='{homebrew_prefix}',
37 )
38 )
39
40
41 @functools.lru_cache()
42 def vars():
43 if not enabled():
44 return {}
45 homebrew_prefix = subprocess.check_output(['brew', '--prefix'], text=True).strip()
46 return locals()
47
48
49 def scheme(name):
50 """
51 Override the selected scheme for posix_prefix.
52 """
53 if not enabled() or not name.endswith('_prefix'):
54 return name
55 return 'osx_framework_library'