relenv 0.22.0__tar.gz → 0.22.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. {relenv-0.22.0/relenv.egg-info → relenv-0.22.1}/PKG-INFO +1 -1
  2. {relenv-0.22.0 → relenv-0.22.1}/relenv/common.py +4 -1
  3. relenv-0.22.1/relenv/python-versions.json +350 -0
  4. {relenv-0.22.0 → relenv-0.22.1}/relenv/runtime.py +5 -0
  5. {relenv-0.22.0 → relenv-0.22.1/relenv.egg-info}/PKG-INFO +1 -1
  6. {relenv-0.22.0 → relenv-0.22.1}/tests/test_common.py +62 -0
  7. {relenv-0.22.0 → relenv-0.22.1}/tests/test_runtime.py +166 -0
  8. relenv-0.22.0/relenv/python-versions.json +0 -329
  9. {relenv-0.22.0 → relenv-0.22.1}/LICENSE.md +0 -0
  10. {relenv-0.22.0 → relenv-0.22.1}/MANIFEST.in +0 -0
  11. {relenv-0.22.0 → relenv-0.22.1}/NOTICE +0 -0
  12. {relenv-0.22.0 → relenv-0.22.1}/README.md +0 -0
  13. {relenv-0.22.0 → relenv-0.22.1}/pyproject.toml +0 -0
  14. {relenv-0.22.0 → relenv-0.22.1}/relenv/__init__.py +0 -0
  15. {relenv-0.22.0 → relenv-0.22.1}/relenv/__main__.py +0 -0
  16. {relenv-0.22.0 → relenv-0.22.1}/relenv/_resources/xz/config.h +0 -0
  17. {relenv-0.22.0 → relenv-0.22.1}/relenv/_resources/xz/readme.md +0 -0
  18. {relenv-0.22.0 → relenv-0.22.1}/relenv/_scripts/install_vc_build.ps1 +0 -0
  19. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/__init__.py +0 -0
  20. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/__init__.py +0 -0
  21. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/_sysconfigdata_template.py +0 -0
  22. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/builder.py +0 -0
  23. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/builders.py +0 -0
  24. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/download.py +0 -0
  25. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/install.py +0 -0
  26. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/common/ui.py +0 -0
  27. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/darwin.py +0 -0
  28. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/linux.py +0 -0
  29. {relenv-0.22.0 → relenv-0.22.1}/relenv/build/windows.py +0 -0
  30. {relenv-0.22.0 → relenv-0.22.1}/relenv/buildenv.py +0 -0
  31. {relenv-0.22.0 → relenv-0.22.1}/relenv/check.py +0 -0
  32. {relenv-0.22.0 → relenv-0.22.1}/relenv/create.py +0 -0
  33. {relenv-0.22.0 → relenv-0.22.1}/relenv/fetch.py +0 -0
  34. {relenv-0.22.0 → relenv-0.22.1}/relenv/manifest.py +0 -0
  35. {relenv-0.22.0 → relenv-0.22.1}/relenv/pyversions.py +0 -0
  36. {relenv-0.22.0 → relenv-0.22.1}/relenv/relocate.py +0 -0
  37. {relenv-0.22.0 → relenv-0.22.1}/relenv/toolchain.py +0 -0
  38. {relenv-0.22.0 → relenv-0.22.1}/relenv.egg-info/SOURCES.txt +0 -0
  39. {relenv-0.22.0 → relenv-0.22.1}/relenv.egg-info/dependency_links.txt +0 -0
  40. {relenv-0.22.0 → relenv-0.22.1}/relenv.egg-info/entry_points.txt +0 -0
  41. {relenv-0.22.0 → relenv-0.22.1}/relenv.egg-info/requires.txt +0 -0
  42. {relenv-0.22.0 → relenv-0.22.1}/relenv.egg-info/top_level.txt +0 -0
  43. {relenv-0.22.0 → relenv-0.22.1}/setup.cfg +0 -0
  44. {relenv-0.22.0 → relenv-0.22.1}/setup.py +0 -0
  45. {relenv-0.22.0 → relenv-0.22.1}/tests/__init__.py +0 -0
  46. {relenv-0.22.0 → relenv-0.22.1}/tests/_pytest_typing.py +0 -0
  47. {relenv-0.22.0 → relenv-0.22.1}/tests/conftest.py +0 -0
  48. {relenv-0.22.0 → relenv-0.22.1}/tests/test_build.py +0 -0
  49. {relenv-0.22.0 → relenv-0.22.1}/tests/test_create.py +0 -0
  50. {relenv-0.22.0 → relenv-0.22.1}/tests/test_downloads.py +0 -0
  51. {relenv-0.22.0 → relenv-0.22.1}/tests/test_fips_photon.py +0 -0
  52. {relenv-0.22.0 → relenv-0.22.1}/tests/test_module_imports.py +0 -0
  53. {relenv-0.22.0 → relenv-0.22.1}/tests/test_pyversions_runtime.py +0 -0
  54. {relenv-0.22.0 → relenv-0.22.1}/tests/test_relocate.py +0 -0
  55. {relenv-0.22.0 → relenv-0.22.1}/tests/test_relocate_module.py +0 -0
  56. {relenv-0.22.0 → relenv-0.22.1}/tests/test_verify_build.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: relenv
3
- Version: 0.22.0
3
+ Version: 0.22.1
4
4
  Project-URL: Source Code, https://github.com/saltstack/relative-environment-for-python
5
5
  Project-URL: Documentation, https://relenv.readthedocs.io/en/latest/
6
6
  Project-URL: Changelog, https://relenv.readthedocs.io/en/latest/changelog.html
@@ -34,7 +34,7 @@ from typing import (
34
34
  )
35
35
 
36
36
  # relenv package version
37
- __version__ = "0.22.0"
37
+ __version__ = "0.22.1"
38
38
 
39
39
  log = logging.getLogger(__name__)
40
40
 
@@ -68,6 +68,9 @@ def _toolchain_cache_root() -> Optional[pathlib.Path]:
68
68
  if override.strip().lower() == "none":
69
69
  return None
70
70
  return pathlib.Path(override).expanduser()
71
+ # If RELENV_DATA is set, return None to use DATA_DIR/toolchain
72
+ if "RELENV_DATA" in os.environ:
73
+ return None
71
74
  cache_home = os.environ.get("XDG_CACHE_HOME")
72
75
  if cache_home:
73
76
  base = pathlib.Path(cache_home)
@@ -0,0 +1,350 @@
1
+ {
2
+ "python": {
3
+ "3.13.7": "dc08d8b8154ff9e132c1db5d089079136273dc90",
4
+ "3.13.6": "6e69138f7e2e95244f7780ba3d5664dda80551e7",
5
+ "3.13.5": "dbf3aed444cbb2221eabfb52688aa371423aa0ba",
6
+ "3.13.4": "c288ab7716f3633f8927a5fe75f46d65cb712415",
7
+ "3.13.3": "f26085cf12daef7b60b8a6fe93ef988b9a094aea",
8
+ "3.13.2": "e4949d999f28d6ad941e766b7dac09a74efbc912",
9
+ "3.13.1": "4b0c2a49a848c3c5d611416099636262a0b9090f",
10
+ "3.13.0": "0f71dce4a3251460985a944bbd1d1b7db1660a91",
11
+ "3.12.11": "603f20426ba4942552a38493bb987c9b832ee321",
12
+ "3.12.10": "7dbdb09971278d93d387f2e045ee04c83d9f7bfa",
13
+ "3.12.9": "465d8a664e63dc5aa1f0d90cd1d0000a970ee2fb",
14
+ "3.12.8": "8872c7a124c6970833e0bde4f25d6d7d61c6af6e",
15
+ "3.12.7": "5a760bbc42c67f1a0aef5bcf7c329348fb88448b",
16
+ "3.12.6": "6d2bbe1603b01764c541608938766233bf56f780",
17
+ "3.12.5": "d9b83c17a717e1cbd3ab6bd14cfe3e508e6d87b2",
18
+ "3.12.4": "c221421f3ba734daaf013dbdc7b48aa725cea18e",
19
+ "3.12.3": "3df73004a9b224d021fd397724e8bd4f9b6cc824",
20
+ "3.12.2": "040eac171c17062253042f7faafea830b03bf07b",
21
+ "3.12.1": "5b11c58ea58cd6b8e1943c7e9b5f6e0997ca3632",
22
+ "3.12.0": "bb2792439baa2014f11652f3ce44d354d0d59a76",
23
+ "3.11.13": "fec9a494efd3520f7efe6f822111f22249549d0a",
24
+ "3.11.12": "85370474d7d0268c46ba5cf0d1473e3d06c17dd6",
25
+ "3.11.11": "acf539109b024d3c5f1fc63d6e7f08cd294ba56d",
26
+ "3.11.10": "eb0ee5c84407445809a556592008cfc1867a39bc",
27
+ "3.11.9": "926cd6a577b2e8dcbb17671b30eda04019328ada",
28
+ "3.11.8": "a368aeed7a3325e47b55168452c356a8eb27ab50",
29
+ "3.11.7": "f2534d591121f3845388fbdd6a121b96dfe305a6",
30
+ "3.11.6": "932f9833ee6d70a530a21d7c12c490a42c8b1574",
31
+ "3.11.5": "b13ec58fa6ebf5b0f7178555c5506e135cb7d785",
32
+ "3.11.4": "413b3715d919a7b473281529ab91eeea5c82e632",
33
+ "3.11.3": "baea3ce79cf35e53b4155a5f700516abcd14f49d",
34
+ "3.11.2": "ae1c199ecb7a969588b15354e19e7b60cb65d1b9",
35
+ "3.11.1": "89ee31611b73dc0c32c178d15aa208734b462c5a",
36
+ "3.11.0": "474838615eab658fc15c87d4bee6bf85a02b424d",
37
+ "3.10.18": "2b59becca67037125c08a82519beccfdb98a48cc",
38
+ "3.10.17": "d31d548cd2c5ca2ae713bebe346ba15e8406633a",
39
+ "3.10.16": "401e6a504a956c8f0aab76c4f3ad9df601a83eb1",
40
+ "3.10.15": "f498fd8921e3c37e6aded9acb11ed23c8daa0bbe",
41
+ "3.10.14": "9103b4716dff30b40fd0239982f3a2d851143a46",
42
+ "3.10.13": "fa66c061cba1acee5e9fe69b7d22cca744a6ecda",
43
+ "3.10.12": "85e043a6cd30835bdf95e3db2d1b4b15e142d067",
44
+ "3.10.11": "53eddc7bf687c4678dc594b2dc74126b48a4fa29",
45
+ "3.10.10": "5d250cd5d492df838a4d5279df40a90ace720b0c",
46
+ "3.10.9": "a6ab44fa6c7dc31506ee262b2f6ad10735ffe750",
47
+ "3.10.8": "49ca7a5be7f13375e863442fbd9ead893ace3238",
48
+ "3.10.7": "e1d4c71059170ba841af310a04e0b4d7c38cb844",
49
+ "3.10.6": "b5a3c74b281ab2e8e56779bbb9aeead1d92fed02",
50
+ "3.10.5": "b80b9c13bb6ba5eb8762ca0d2b888c404582a405",
51
+ "3.10.4": "8f684863b92bf43936b16dbb867e392f10e8ffc7",
52
+ "3.10.3": "5cd4ef548b1649a9a4fd78f5b7c5a86acdbd5001",
53
+ "3.10.2": "e618946549cca1eb0d6d4cdf516003fec3975003",
54
+ "3.10.1": "1a534e99b95db0d30dacc8f10418cc5758b04df7",
55
+ "3.10.0": "c6114b411b7e6d26fc9887c11c0800d9625f1ade",
56
+ "3.9.23": "73d07237b70b19e4cd530bbc204cccd668ec05d4",
57
+ "3.9.22": "898d81887f0f36f2a71677b657d8400fd526fd55",
58
+ "3.9.21": "d968a953f19c6fc3bf54b5ded5c06852197ebddc",
59
+ "3.9.20": "52902dd820d2d41c47ef927ecebb24a96a51cc4b",
60
+ "3.9.19": "57d08ec0b329a78923b486abae906d4fa12fadb7",
61
+ "3.9.18": "abe4a20dcc11798495b17611ef9f8f33d6975722",
62
+ "3.9.17": "34a6d24cef87fbf22b943d4fe22100a9bf0b3782",
63
+ "3.9.16": "19acd6a341e4f2d7ff97c10c2eada258e9898624",
64
+ "3.9.15": "0ffa1114d627ddb4f61f3041880e43b478552883",
65
+ "3.9.14": "fa48bd60aee6abf2d41aafb273ebf9fb6b790458",
66
+ "3.9.13": "d57e5c8b94fe42e2b403e6eced02b25ed47ca8da",
67
+ "3.9.12": "8c2e3a45febf695cbb4d1f02dc1e9d84c5224e52",
68
+ "3.9.11": "10af2f3c3b5fb4f7247d43d176ffc8ef448b31c9",
69
+ "3.9.10": "936fc25ac4e1b482a0cefa82dd6092a0c6b575e6",
70
+ "3.9.9": "6274e5631c520d75bf1f0a046640fd3996fe99f0",
71
+ "3.9.8": "8113655a4341a1008fe7388cbdf24aa9c7c6ae20",
72
+ "3.9.7": "5208c1d1e0e859f42a9bdbb110efd0855ec4ecf1",
73
+ "3.9.6": "05826c93a178872958f6685094ee3514e53ba653",
74
+ "3.9.5": "edc80e5e33fc3d3fae53e6b95ae4ca9277809b9b",
75
+ "3.9.4": "cfaa95ec3a15994b04c9c7ef1df1319056427e8d",
76
+ "3.9.2": "110ca5bca7989f9558a54ee6762e6774a4b9644a",
77
+ "3.9.1": "77f4105846f6740297e50d7535a42c02d6b8e7db",
78
+ "3.9.0": "ff1fc8c37d5d4b09ec3bf0d84f3e5b97745c6704",
79
+ "3.8.20": "88832fd164f0a7d1d0f4677b06960bb5ff15ff1d",
80
+ "3.8.19": "eaadca9b5f89767b83c89266049042902681d029",
81
+ "3.8.18": "4c5b3bdbfd5e899972d3ee06375fd96fe664dfe3",
82
+ "3.8.17": "7bf662823ba44b56bbc1c4f3f802c0cdf3fbbfe5",
83
+ "3.8.16": "006869b0011174fc0ce695c454010c21637b09bf",
84
+ "3.8.15": "8fe5b42bc09df600d0cec750415b27f7802ae5e4",
85
+ "3.8.14": "dced5c6d2a402eb79dddf3346210db23990b1ad0",
86
+ "3.8.13": "fb46587353f092d91caeddb07f82bb66a5115468",
87
+ "3.8.12": "7643eccc15f5606bd0dc04affc7ea901e417165d",
88
+ "3.8.11": "1561060627fd171de19c53eb374cd92d2f297bff",
89
+ "3.8.10": "f6579351d42a81c77b55aa4ca8b1280b4f5b37f9",
90
+ "3.8.9": "ea40651135adc4126a60a45093d100722610f4de",
91
+ "3.8.8": "d7dd8ef51ebe7ddd8ec41e39a607ac26d1834a8f",
92
+ "3.8.7": "1b1525811ea4bcf237622e5f1751a4dfc429e3a3",
93
+ "3.8.6": "6ee446eaacf901a3305565bd6569e2de135168e3",
94
+ "3.8.5": "68d6c7f948801cc755905162f5ee7589595edee4",
95
+ "3.8.4": "996c56496f4ddd8f18f388a3bd584b74d2b43928",
96
+ "3.8.3": "3bafa40df1cd069c112761c388a9f2e94b5d33dd",
97
+ "3.8.2": "5ae54baf26628a7ed74206650a31192e6d5c6f93",
98
+ "3.8.1": "a48fd28a037c0bcd7b7fc4d914c023f584e910ed",
99
+ "3.8.0": "7720e0384558c598107cf046c48165fd7e1f5b2c",
100
+ "3.7.17": "7a08649e47214de75a6ecec91260286fdd94daf5",
101
+ "3.7.16": "0cc857e03dbc91971190d170df48e4a64ce8941a",
102
+ "3.7.15": "5ed83fdc6d4705090bd39d4b9f5424e37aac780d",
103
+ "3.7.14": "86d51dea42675ccfe4a9d8d41e87c33757e91c64",
104
+ "3.7.13": "2dfb44e36bfb9d93894fd9051952190441da47db",
105
+ "3.7.12": "ea7ed19e3a7cb3867e32c602e25da0b2689a3e31",
106
+ "3.7.11": "671e3fed4f3bb5a6663da0ae6691f0f8e9399427",
107
+ "3.7.10": "847305e6b25f83b80096314fdfdfa7a8cc07016e",
108
+ "3.7.9": "e1de02779a89a94000c0ed340ec126de25825f2f",
109
+ "3.7.8": "ecfc1d291ab35bb7cc3a352dd9451450266f5974",
110
+ "3.7.7": "7b6f9eec148c583a22a0666fe8eb5ec963ac57c4",
111
+ "3.7.6": "93e76be2d874b6ad0abd57c15bab8debc211226a",
112
+ "3.7.5": "860f88886809ae8bfc86afa462536811c347a2a1",
113
+ "3.7.4": "a862c5a58626fdad02d2047a57771ede2783fcef",
114
+ "3.7.3": "e3584650a06ae2765da0678176deae9d133f1b3d",
115
+ "3.7.2": "c3dc6928516bcb934cf4740461044c79c7c35494",
116
+ "3.7.1": "da290d6d24c68faeba502251cba111a1c8a5a9b2",
117
+ "3.7.0": "653cffa5b9f2a28150afe4705600d2e55d89b564",
118
+ "3.6.15": "fc7c36957c2cd228cc217bb5df4f580f1fdcd602",
119
+ "3.6.14": "980845d74f9ca6a57999ac90c2ddb1fdffb7933a",
120
+ "3.6.13": "4fa72f749446e907a5b80c0ae47ab03d890f14c8",
121
+ "3.6.12": "e6a28b1ab47f079a659e24a40e4c416f52828682",
122
+ "3.6.11": "0840e6b726446fccaef483dad84cce8fdc683077",
123
+ "3.6.10": "781072e4726ff0c6dc9370dbfb9dd781d87987dc",
124
+ "3.6.9": "3cd8b0e814b753fcce4fdf7edc823d8fb0da9208",
125
+ "3.6.8": "ee55acedef049268307633cbc9c7ff0610d1244f",
126
+ "3.6.7": "dd2b0a8bf9b9617c57a0070b53065286c2142994",
127
+ "3.6.6": "5731cf379838023fc8c55491b4068c4404d0e34f",
128
+ "3.6.5": "5a7a833a36f1006257d298787f4c38493c5d1689",
129
+ "3.6.4": "36a90695cda9298a0663e667c12909246c358851",
130
+ "3.6.3": "6c71b14bdbc4d8aa0cfd59d4b6dc356d46abfdf5",
131
+ "3.6.2": "4f92a045de9231b93dfbed50c66bb12cf03ac59a",
132
+ "3.6.1": "91d880a2a9fcfc6753cbfa132bf47a47e17e7b16",
133
+ "3.6.0": "18ebf7d726782967d967dc00e3aa08b334fbdd5c",
134
+ "3.5.10": "25c31d42fb8f8755de9358a53816ce4567b6bca9",
135
+ "3.5.9": "4b62a14d8821e5761ef6b76876f45b50b85caa95",
136
+ "3.5.8": "10d313aeb7f58e464528aa1b1f0104175841ca4d",
137
+ "3.5.7": "743044e357e96ed8e49d709b502f1a9b815be763",
138
+ "3.5.6": "05548da58ec75a7af316c4a4cb8fc667ac6ac8f9",
139
+ "3.5.5": "66c4cfc0f64b545ee5a7725f26a2fd834cdf1682",
140
+ "3.5.4": "4aacbd09ca6988255de84a98ab9e4630f584efba",
141
+ "3.5.3": "127121fdca11e735b3686e300d66f73aba663e93",
142
+ "3.5.2": "4843aabacec5bc0cdd3e1f778faa926e532794d2",
143
+ "3.5.1": "0186da436db76776196612b98bb9c2f76acfe90e",
144
+ "3.5.0": "871a06df9ab70984b7398ac53047fe125c757a70",
145
+ "3.4.10": "68fe143c56d438343d4142a4953d607124e85ca2",
146
+ "3.4.9": "83ea4018f6e5f1db87c4e54c8a48ba6a8350abd4",
147
+ "3.4.8": "65d62d3f62ade072a84eb64eca4490b940c73542",
148
+ "3.4.7": "7b05bf099f3f311ba568232d0d03d64e67da9908",
149
+ "3.4.6": "ef7dbec63d45760701534990511d686e3acbbe4f",
150
+ "3.4.5": "882e83e0286b253ee651aa3f9a5d27ebc46e6632",
151
+ "3.4.4": "0e4c9265a2ab0004ac51f0010d47c22ef4c1640c",
152
+ "3.4.3": "7ca5cd664598bea96eec105aa6453223bb6b4456",
153
+ "3.4.2": "0727d8a8498733baabe6f51632b9bab0cbaa9ada",
154
+ "3.4.1": "143e098efe7ee7bec8a4904ec4b322f28a067a03",
155
+ "3.4.0": "f54d7cf6af5dbd9bddbe31cf4772f39711381dbe",
156
+ "3.3.7": "efb00940efd558b9350a79fd9fd70551cdb35b20",
157
+ "3.3.6": "0a86ae9e877467a62faed7ece208c0d6899b0991",
158
+ "3.3.5": "6683b26dd2cfd23af852abfcf1aedf25bbd44839",
159
+ "3.3.4": "2c9586eeb4b6e45e9ebc28372c0856c709d9a522",
160
+ "3.3.3": "af4e75a34bd538c79b9871227c2e7f56569ac107",
161
+ "3.3.2": "87009d0c156c6e1354dfec5c98c328cae93950ad",
162
+ "3.3.1": "393d7302c48bc911cd7faa7fa9b5fbcb9919bddc",
163
+ "3.3.0": "833d73565e1b665f1878504081dc985a5a06e46a",
164
+ "3.2.6": "3fb8bf10e4df50629efd747adbc324e0084df9bb",
165
+ "3.2.5": "616516c707e81f6e498e83b50a2b0f41b9dd3fe1",
166
+ "3.2.4": "d5788113afaf9425d5c15f1a4b76f731553ec040",
167
+ "3.2.3": "3d607dbcfdf100dd659978195ccf3ade9d221823",
168
+ "3.2.2": "5e654dbd48476193ccdef4d604ed4f45b48c6769",
169
+ "3.2.1": "ab5cf4a4c21abe590dea87473a1dee6820699d79",
170
+ "3.2.0": "55a3a9d39f31563370d0c494373bb6d38e4d1a00",
171
+ "3.1.5": "3fa78edeefd892a50b5f41bab018b51ecad0b56f",
172
+ "3.1.4": "e5767a4fc92433816451de75c8721f2e1a81f6ea",
173
+ "3.1.3": "eadb89fa63194167c6a80d49617d79491b21857b",
174
+ "3.1.2": "130186b84e8bafce7f25dccdd6f9ab4929f5f474",
175
+ "3.1.1": "499d77bc67f739880663f3aeab67dd973344a3dd",
176
+ "3.1.0": "8590b685654367e3eba70dc00df7e45e88c21da4",
177
+ "3.0.1": "9cde3918c0449f59e90b2e71f46a734ee84ae81e",
178
+ "3.0.0": "c002b8ed67d9df8aaf9a391b3cfcd442dcff3334",
179
+ "3.13.8": "00cb0597d6559f79ca24e1abf902aed81e6a13b3",
180
+ "3.12.12": "dbe6dc34a132b1035c121583a9f37ba87458d0f5",
181
+ "3.11.14": "dd6254e3a92978cb506e6303d1bb0db4dfff5b7f",
182
+ "3.10.19": "a5606a32a67421dc62dd0f5b6d00d35c93bbdae4",
183
+ "3.9.24": "32438f848084bf03a25d8514c9a396582f66e7be",
184
+ "3.13.11": "1c658e3f04f9ebc0eadd4450cb78ce50ab526597",
185
+ "3.13.10": "15a47abaf928dbbe73f932ef3ba78070cdfe699d",
186
+ "3.13.9": "53a9cd799370adad6fe471a2ee45874bbf6ccfc1",
187
+ "3.9.25": "36c7257ec30dca042679626d0dff79715acd4efb"
188
+ },
189
+ "dependencies": {
190
+ "openssl": {
191
+ "3.5.4": {
192
+ "url": "https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz",
193
+ "sha256": "",
194
+ "platforms": [
195
+ "linux",
196
+ "darwin"
197
+ ]
198
+ },
199
+ "3.6.0": {
200
+ "url": "https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz",
201
+ "sha256": "b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9",
202
+ "platforms": [
203
+ "linux",
204
+ "darwin"
205
+ ]
206
+ }
207
+ },
208
+ "sqlite": {
209
+ "3.50.4.0": {
210
+ "url": "https://sqlite.org/2025/sqlite-autoconf-{version}.tar.gz",
211
+ "sha256": "a3db587a1b92ee5ddac2f66b3edb41b26f9c867275782d46c3a088977d6a5b18",
212
+ "sqliteversion": "3500400",
213
+ "platforms": [
214
+ "linux",
215
+ "darwin",
216
+ "win32"
217
+ ]
218
+ },
219
+ "3.51.1.0": {
220
+ "url": "https://sqlite.org/2025/sqlite-autoconf-{version}.tar.gz",
221
+ "sha256": "4f2445cd70479724d32ad015ec7fd37fbb6f6130013bd4bfbc80c32beb42b7e0",
222
+ "sqliteversion": "3510100",
223
+ "platforms": [
224
+ "linux",
225
+ "darwin",
226
+ "win32"
227
+ ]
228
+ }
229
+ },
230
+ "xz": {
231
+ "5.8.1": {
232
+ "url": "http://tukaani.org/xz/xz-{version}.tar.gz",
233
+ "sha256": "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543",
234
+ "platforms": [
235
+ "linux",
236
+ "darwin"
237
+ ]
238
+ }
239
+ },
240
+ "libffi": {
241
+ "3.5.2": {
242
+ "url": "https://github.com/libffi/libffi/releases/download/v{version}/libffi-{version}.tar.gz",
243
+ "sha256": "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc",
244
+ "platforms": [
245
+ "linux"
246
+ ]
247
+ }
248
+ },
249
+ "zlib": {
250
+ "1.3.1": {
251
+ "url": "https://zlib.net/fossils/zlib-{version}.tar.gz",
252
+ "sha256": "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23",
253
+ "platforms": [
254
+ "linux"
255
+ ]
256
+ }
257
+ },
258
+ "ncurses": {
259
+ "6.5": {
260
+ "url": "https://mirrors.ocf.berkeley.edu/gnu/ncurses/ncurses-{version}.tar.gz",
261
+ "sha256": "136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6",
262
+ "platforms": [
263
+ "linux"
264
+ ]
265
+ }
266
+ },
267
+ "readline": {
268
+ "8.3": {
269
+ "url": "https://mirrors.ocf.berkeley.edu/gnu/readline/readline-{version}.tar.gz",
270
+ "sha256": "fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc",
271
+ "platforms": [
272
+ "linux"
273
+ ]
274
+ }
275
+ },
276
+ "gdbm": {
277
+ "1.26": {
278
+ "url": "https://mirrors.ocf.berkeley.edu/gnu/gdbm/gdbm-{version}.tar.gz",
279
+ "sha256": "6a24504a14de4a744103dcb936be976df6fbe88ccff26065e54c1c47946f4a5e",
280
+ "platforms": [
281
+ "linux"
282
+ ]
283
+ }
284
+ },
285
+ "libxcrypt": {
286
+ "4.4.38": {
287
+ "url": "https://github.com/besser82/libxcrypt/releases/download/v{version}/libxcrypt-{version}.tar.xz",
288
+ "sha256": "80304b9c306ea799327f01d9a7549bdb28317789182631f1b54f4511b4206dd6",
289
+ "platforms": [
290
+ "linux"
291
+ ]
292
+ },
293
+ "4.5.2": {
294
+ "url": "https://github.com/besser82/libxcrypt/releases/download/v{version}/libxcrypt-{version}.tar.xz",
295
+ "sha256": "71513a31c01a428bccd5367a32fd95f115d6dac50fb5b60c779d5c7942aec071",
296
+ "platforms": [
297
+ "linux"
298
+ ]
299
+ }
300
+ },
301
+ "krb5": {
302
+ "1.22": {
303
+ "url": "https://kerberos.org/dist/krb5/{version}/krb5-{version}.tar.gz",
304
+ "sha256": "652be617b4647f3c5dcac21547d47c7097101aad4e306f1778fb48e17b220ba3",
305
+ "platforms": [
306
+ "linux"
307
+ ]
308
+ }
309
+ },
310
+ "bzip2": {
311
+ "1.0.8": {
312
+ "url": "https://sourceware.org/pub/bzip2/bzip2-{version}.tar.gz",
313
+ "sha256": "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269",
314
+ "platforms": [
315
+ "linux",
316
+ "darwin"
317
+ ]
318
+ }
319
+ },
320
+ "uuid": {
321
+ "1.0.3": {
322
+ "url": "https://sourceforge.net/projects/libuuid/files/libuuid-{version}.tar.gz",
323
+ "sha256": "46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644",
324
+ "platforms": [
325
+ "linux"
326
+ ]
327
+ }
328
+ },
329
+ "tirpc": {
330
+ "1.3.7": {
331
+ "url": "https://sourceforge.net/projects/libtirpc/files/libtirpc-{version}.tar.bz2",
332
+ "sha256": "b47d3ac19d3549e54a05d0019a6c400674da716123858cfdb6d3bdd70a66c702",
333
+ "platforms": [
334
+ "linux"
335
+ ]
336
+ }
337
+ },
338
+ "expat": {
339
+ "2.7.3": {
340
+ "url": "https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-2.7.3.tar.xz",
341
+ "sha256": "71df8f40706a7bb0a80a5367079ea75d91da4f8c65c58ec59bcdfbf7decdab9f",
342
+ "platforms": [
343
+ "linux",
344
+ "darwin",
345
+ "win32"
346
+ ]
347
+ }
348
+ }
349
+ }
350
+ }
@@ -1270,3 +1270,8 @@ def bootstrap() -> None:
1270
1270
  setup_crossroot()
1271
1271
  install_cargo_config()
1272
1272
  sys.meta_path = [importer] + sys.meta_path
1273
+
1274
+ # For Python 3.13+, sysconfig became a package so the importer doesn't
1275
+ # intercept it. Manually wrap it here.
1276
+ if sys.version_info >= (3, 13):
1277
+ wrap_sysconfig("sysconfig")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: relenv
3
- Version: 0.22.0
3
+ Version: 0.22.1
4
4
  Project-URL: Source Code, https://github.com/saltstack/relative-environment-for-python
5
5
  Project-URL: Documentation, https://relenv.readthedocs.io/en/latest/
6
6
  Project-URL: Changelog, https://relenv.readthedocs.io/en/latest/changelog.html
@@ -464,6 +464,68 @@ def test_makepath_oserror() -> None:
464
464
  assert case == os.path.normcase(expected)
465
465
 
466
466
 
467
+ def test_toolchain_respects_relenv_data(
468
+ tmp_path: pathlib.Path, monkeypatch: pytest.MonkeyPatch
469
+ ) -> None:
470
+ """
471
+ Test that RELENV_DATA environment variable controls toolchain location.
472
+
473
+ This is a regression test for issue #XXX where RELENV_DATA was ignored
474
+ in version 0.20.2+ after toolchains were moved to a cache directory.
475
+ When RELENV_DATA is set (as in saltstack CI pipelines), the toolchain
476
+ should be found in $RELENV_DATA/toolchain, not in the cache directory.
477
+ """
478
+ data_dir = tmp_path / "custom_data"
479
+ triplet = "x86_64-linux-gnu"
480
+ toolchain_path = data_dir / "toolchain" / triplet
481
+ toolchain_path.mkdir(parents=True)
482
+
483
+ # Patch sys.platform to simulate Linux
484
+ monkeypatch.setattr(sys, "platform", "linux")
485
+ monkeypatch.setattr(
486
+ relenv.common, "get_triplet", lambda machine=None, plat=None: triplet
487
+ )
488
+
489
+ # Set RELENV_DATA environment variable
490
+ monkeypatch.setenv("RELENV_DATA", str(data_dir))
491
+
492
+ # Patch DATA_DIR to reflect the new RELENV_DATA value
493
+ monkeypatch.setattr(relenv.common, "DATA_DIR", data_dir)
494
+
495
+ # Verify toolchain_root_dir returns DATA_DIR/toolchain
496
+ from relenv.common import toolchain_root_dir
497
+
498
+ result = toolchain_root_dir()
499
+ assert result == data_dir / "toolchain"
500
+
501
+
502
+ def test_toolchain_uses_cache_without_relenv_data(
503
+ tmp_path: pathlib.Path, monkeypatch: pytest.MonkeyPatch
504
+ ) -> None:
505
+ """
506
+ Test that toolchain uses cache directory when RELENV_DATA is not set.
507
+
508
+ When RELENV_DATA is not set, the toolchain should be stored in the
509
+ cache directory (~/.cache/relenv/toolchains or $XDG_CACHE_HOME/relenv/toolchains)
510
+ to allow reuse across different relenv environments.
511
+ """
512
+ cache_dir = tmp_path / ".cache" / "relenv" / "toolchains"
513
+
514
+ # Patch sys.platform to simulate Linux
515
+ monkeypatch.setattr(sys, "platform", "linux")
516
+
517
+ # Remove RELENV_DATA if set
518
+ monkeypatch.delenv("RELENV_DATA", raising=False)
519
+
520
+ # Set XDG_CACHE_HOME to control cache location
521
+ monkeypatch.setenv("XDG_CACHE_HOME", str(tmp_path / ".cache"))
522
+
523
+ from relenv.common import toolchain_root_dir
524
+
525
+ result = toolchain_root_dir()
526
+ assert result == cache_dir
527
+
528
+
467
529
  def test_copyright_headers() -> None:
468
530
  """Verify all Python source files have the correct copyright header."""
469
531
  expected_header = (
@@ -1821,3 +1821,169 @@ def test_load_openssl_provider_linux(monkeypatch: pytest.MonkeyPatch) -> None:
1821
1821
  )
1822
1822
  monkeypatch.setattr(relenv.runtime.sys, "platform", "linux", raising=False)
1823
1823
  assert relenv.runtime.load_openssl_provider("default") == 456
1824
+
1825
+
1826
+ def test_sysconfig_wrapper_applied_for_python_313_plus(
1827
+ monkeypatch: pytest.MonkeyPatch,
1828
+ ) -> None:
1829
+ """
1830
+ Test that sysconfig wrapper is applied for Python 3.13+.
1831
+
1832
+ This is a regression test for Python 3.13 where sysconfig changed from
1833
+ a single module to a package. The RelenvImporter no longer intercepts
1834
+ the import automatically, so we must manually apply the wrapper.
1835
+
1836
+ Without this fix, Python 3.13+ would use the toolchain gcc with full path
1837
+ even when RELENV_BUILDENV is not set, causing build failures with packages
1838
+ like mysqlclient that compile native extensions.
1839
+ """
1840
+ # Simulate Python 3.13+
1841
+ fake_version = (3, 13, 0, "final", 0)
1842
+ monkeypatch.setattr(relenv.runtime.sys, "version_info", fake_version)
1843
+
1844
+ # Track whether wrap_sysconfig was called
1845
+ wrap_called = {"count": 0, "module_name": None}
1846
+
1847
+ def fake_wrap_sysconfig(name: str) -> ModuleType:
1848
+ wrap_called["count"] += 1
1849
+ wrap_called["module_name"] = name
1850
+ return ModuleType("sysconfig")
1851
+
1852
+ monkeypatch.setattr(relenv.runtime, "wrap_sysconfig", fake_wrap_sysconfig)
1853
+
1854
+ # Mock other dependencies to avoid side effects
1855
+ monkeypatch.setattr(relenv.runtime, "relenv_root", lambda: pathlib.Path("/root"))
1856
+ monkeypatch.setattr(relenv.runtime, "setup_openssl", lambda: None)
1857
+ monkeypatch.setattr(relenv.runtime, "setup_crossroot", lambda: None)
1858
+ monkeypatch.setattr(relenv.runtime, "install_cargo_config", lambda: None)
1859
+ monkeypatch.setattr(
1860
+ relenv.runtime.site, "execsitecustomize", lambda: None, raising=False
1861
+ )
1862
+ monkeypatch.setattr(
1863
+ relenv.runtime, "wrapsitecustomize", lambda func: func, raising=False
1864
+ )
1865
+
1866
+ # Mock importer
1867
+ fake_importer = SimpleNamespace()
1868
+ monkeypatch.setattr(relenv.runtime, "importer", fake_importer, raising=False)
1869
+
1870
+ # Clear sys.meta_path to avoid side effects
1871
+ original_meta_path = sys.meta_path.copy()
1872
+ monkeypatch.setattr(sys, "meta_path", [])
1873
+
1874
+ try:
1875
+ # Execute the module initialization code at the end of runtime.py
1876
+ # This simulates what happens when the runtime module is imported
1877
+ exec(
1878
+ """
1879
+ import sys
1880
+ sys.RELENV = relenv_root()
1881
+ setup_openssl()
1882
+ site.execsitecustomize = wrapsitecustomize(site.execsitecustomize)
1883
+ setup_crossroot()
1884
+ install_cargo_config()
1885
+ sys.meta_path = [importer] + sys.meta_path
1886
+
1887
+ # For Python 3.13+, sysconfig became a package so the importer doesn't
1888
+ # intercept it. Manually wrap it here.
1889
+ if sys.version_info >= (3, 13):
1890
+ wrap_sysconfig("sysconfig")
1891
+ """,
1892
+ {
1893
+ "sys": relenv.runtime.sys,
1894
+ "relenv_root": relenv.runtime.relenv_root,
1895
+ "setup_openssl": relenv.runtime.setup_openssl,
1896
+ "site": relenv.runtime.site,
1897
+ "wrapsitecustomize": relenv.runtime.wrapsitecustomize,
1898
+ "setup_crossroot": relenv.runtime.setup_crossroot,
1899
+ "install_cargo_config": relenv.runtime.install_cargo_config,
1900
+ "importer": fake_importer,
1901
+ "wrap_sysconfig": fake_wrap_sysconfig,
1902
+ },
1903
+ )
1904
+
1905
+ # Verify wrap_sysconfig was called for Python 3.13+
1906
+ assert wrap_called["count"] == 1
1907
+ assert wrap_called["module_name"] == "sysconfig"
1908
+
1909
+ finally:
1910
+ # Restore original meta_path
1911
+ monkeypatch.setattr(sys, "meta_path", original_meta_path)
1912
+
1913
+
1914
+ def test_sysconfig_wrapper_not_applied_for_python_312(
1915
+ monkeypatch: pytest.MonkeyPatch,
1916
+ ) -> None:
1917
+ """
1918
+ Test that sysconfig wrapper is NOT applied for Python 3.12 and earlier.
1919
+
1920
+ For Python 3.12 and earlier, sysconfig is a single module file and the
1921
+ RelenvImporter intercepts it automatically. We should not manually wrap
1922
+ it to avoid double-wrapping.
1923
+ """
1924
+ # Simulate Python 3.12
1925
+ fake_version = (3, 12, 0, "final", 0)
1926
+ monkeypatch.setattr(relenv.runtime.sys, "version_info", fake_version)
1927
+
1928
+ # Track whether wrap_sysconfig was called
1929
+ wrap_called = {"count": 0}
1930
+
1931
+ def fake_wrap_sysconfig(name: str) -> ModuleType:
1932
+ wrap_called["count"] += 1
1933
+ return ModuleType("sysconfig")
1934
+
1935
+ monkeypatch.setattr(relenv.runtime, "wrap_sysconfig", fake_wrap_sysconfig)
1936
+
1937
+ # Mock other dependencies
1938
+ monkeypatch.setattr(relenv.runtime, "relenv_root", lambda: pathlib.Path("/root"))
1939
+ monkeypatch.setattr(relenv.runtime, "setup_openssl", lambda: None)
1940
+ monkeypatch.setattr(relenv.runtime, "setup_crossroot", lambda: None)
1941
+ monkeypatch.setattr(relenv.runtime, "install_cargo_config", lambda: None)
1942
+ monkeypatch.setattr(
1943
+ relenv.runtime.site, "execsitecustomize", lambda: None, raising=False
1944
+ )
1945
+ monkeypatch.setattr(
1946
+ relenv.runtime, "wrapsitecustomize", lambda func: func, raising=False
1947
+ )
1948
+
1949
+ fake_importer = SimpleNamespace()
1950
+ monkeypatch.setattr(relenv.runtime, "importer", fake_importer, raising=False)
1951
+
1952
+ original_meta_path = sys.meta_path.copy()
1953
+ monkeypatch.setattr(sys, "meta_path", [])
1954
+
1955
+ try:
1956
+ # Execute the module initialization code
1957
+ exec(
1958
+ """
1959
+ import sys
1960
+ sys.RELENV = relenv_root()
1961
+ setup_openssl()
1962
+ site.execsitecustomize = wrapsitecustomize(site.execsitecustomize)
1963
+ setup_crossroot()
1964
+ install_cargo_config()
1965
+ sys.meta_path = [importer] + sys.meta_path
1966
+
1967
+ # For Python 3.13+, sysconfig became a package so the importer doesn't
1968
+ # intercept it. Manually wrap it here.
1969
+ if sys.version_info >= (3, 13):
1970
+ wrap_sysconfig("sysconfig")
1971
+ """,
1972
+ {
1973
+ "sys": relenv.runtime.sys,
1974
+ "relenv_root": relenv.runtime.relenv_root,
1975
+ "setup_openssl": relenv.runtime.setup_openssl,
1976
+ "site": relenv.runtime.site,
1977
+ "wrapsitecustomize": relenv.runtime.wrapsitecustomize,
1978
+ "setup_crossroot": relenv.runtime.setup_crossroot,
1979
+ "install_cargo_config": relenv.runtime.install_cargo_config,
1980
+ "importer": fake_importer,
1981
+ "wrap_sysconfig": fake_wrap_sysconfig,
1982
+ },
1983
+ )
1984
+
1985
+ # Verify wrap_sysconfig was NOT called for Python 3.12
1986
+ assert wrap_called["count"] == 0
1987
+
1988
+ finally:
1989
+ monkeypatch.setattr(sys, "meta_path", original_meta_path)
@@ -1,329 +0,0 @@
1
- {
2
- "python": {
3
- "3.13.7": "dc08d8b8154ff9e132c1db5d089079136273dc90",
4
- "3.13.6": "6e69138f7e2e95244f7780ba3d5664dda80551e7",
5
- "3.13.5": "dbf3aed444cbb2221eabfb52688aa371423aa0ba",
6
- "3.13.4": "c288ab7716f3633f8927a5fe75f46d65cb712415",
7
- "3.13.3": "f26085cf12daef7b60b8a6fe93ef988b9a094aea",
8
- "3.13.2": "e4949d999f28d6ad941e766b7dac09a74efbc912",
9
- "3.13.1": "4b0c2a49a848c3c5d611416099636262a0b9090f",
10
- "3.13.0": "0f71dce4a3251460985a944bbd1d1b7db1660a91",
11
- "3.12.11": "603f20426ba4942552a38493bb987c9b832ee321",
12
- "3.12.10": "7dbdb09971278d93d387f2e045ee04c83d9f7bfa",
13
- "3.12.9": "465d8a664e63dc5aa1f0d90cd1d0000a970ee2fb",
14
- "3.12.8": "8872c7a124c6970833e0bde4f25d6d7d61c6af6e",
15
- "3.12.7": "5a760bbc42c67f1a0aef5bcf7c329348fb88448b",
16
- "3.12.6": "6d2bbe1603b01764c541608938766233bf56f780",
17
- "3.12.5": "d9b83c17a717e1cbd3ab6bd14cfe3e508e6d87b2",
18
- "3.12.4": "c221421f3ba734daaf013dbdc7b48aa725cea18e",
19
- "3.12.3": "3df73004a9b224d021fd397724e8bd4f9b6cc824",
20
- "3.12.2": "040eac171c17062253042f7faafea830b03bf07b",
21
- "3.12.1": "5b11c58ea58cd6b8e1943c7e9b5f6e0997ca3632",
22
- "3.12.0": "bb2792439baa2014f11652f3ce44d354d0d59a76",
23
- "3.11.13": "fec9a494efd3520f7efe6f822111f22249549d0a",
24
- "3.11.12": "85370474d7d0268c46ba5cf0d1473e3d06c17dd6",
25
- "3.11.11": "acf539109b024d3c5f1fc63d6e7f08cd294ba56d",
26
- "3.11.10": "eb0ee5c84407445809a556592008cfc1867a39bc",
27
- "3.11.9": "926cd6a577b2e8dcbb17671b30eda04019328ada",
28
- "3.11.8": "a368aeed7a3325e47b55168452c356a8eb27ab50",
29
- "3.11.7": "f2534d591121f3845388fbdd6a121b96dfe305a6",
30
- "3.11.6": "932f9833ee6d70a530a21d7c12c490a42c8b1574",
31
- "3.11.5": "b13ec58fa6ebf5b0f7178555c5506e135cb7d785",
32
- "3.11.4": "413b3715d919a7b473281529ab91eeea5c82e632",
33
- "3.11.3": "baea3ce79cf35e53b4155a5f700516abcd14f49d",
34
- "3.11.2": "ae1c199ecb7a969588b15354e19e7b60cb65d1b9",
35
- "3.11.1": "89ee31611b73dc0c32c178d15aa208734b462c5a",
36
- "3.11.0": "474838615eab658fc15c87d4bee6bf85a02b424d",
37
- "3.10.18": "2b59becca67037125c08a82519beccfdb98a48cc",
38
- "3.10.17": "d31d548cd2c5ca2ae713bebe346ba15e8406633a",
39
- "3.10.16": "401e6a504a956c8f0aab76c4f3ad9df601a83eb1",
40
- "3.10.15": "f498fd8921e3c37e6aded9acb11ed23c8daa0bbe",
41
- "3.10.14": "9103b4716dff30b40fd0239982f3a2d851143a46",
42
- "3.10.13": "fa66c061cba1acee5e9fe69b7d22cca744a6ecda",
43
- "3.10.12": "85e043a6cd30835bdf95e3db2d1b4b15e142d067",
44
- "3.10.11": "53eddc7bf687c4678dc594b2dc74126b48a4fa29",
45
- "3.10.10": "5d250cd5d492df838a4d5279df40a90ace720b0c",
46
- "3.10.9": "a6ab44fa6c7dc31506ee262b2f6ad10735ffe750",
47
- "3.10.8": "49ca7a5be7f13375e863442fbd9ead893ace3238",
48
- "3.10.7": "e1d4c71059170ba841af310a04e0b4d7c38cb844",
49
- "3.10.6": "b5a3c74b281ab2e8e56779bbb9aeead1d92fed02",
50
- "3.10.5": "b80b9c13bb6ba5eb8762ca0d2b888c404582a405",
51
- "3.10.4": "8f684863b92bf43936b16dbb867e392f10e8ffc7",
52
- "3.10.3": "5cd4ef548b1649a9a4fd78f5b7c5a86acdbd5001",
53
- "3.10.2": "e618946549cca1eb0d6d4cdf516003fec3975003",
54
- "3.10.1": "1a534e99b95db0d30dacc8f10418cc5758b04df7",
55
- "3.10.0": "c6114b411b7e6d26fc9887c11c0800d9625f1ade",
56
- "3.9.23": "73d07237b70b19e4cd530bbc204cccd668ec05d4",
57
- "3.9.22": "898d81887f0f36f2a71677b657d8400fd526fd55",
58
- "3.9.21": "d968a953f19c6fc3bf54b5ded5c06852197ebddc",
59
- "3.9.20": "52902dd820d2d41c47ef927ecebb24a96a51cc4b",
60
- "3.9.19": "57d08ec0b329a78923b486abae906d4fa12fadb7",
61
- "3.9.18": "abe4a20dcc11798495b17611ef9f8f33d6975722",
62
- "3.9.17": "34a6d24cef87fbf22b943d4fe22100a9bf0b3782",
63
- "3.9.16": "19acd6a341e4f2d7ff97c10c2eada258e9898624",
64
- "3.9.15": "0ffa1114d627ddb4f61f3041880e43b478552883",
65
- "3.9.14": "fa48bd60aee6abf2d41aafb273ebf9fb6b790458",
66
- "3.9.13": "d57e5c8b94fe42e2b403e6eced02b25ed47ca8da",
67
- "3.9.12": "8c2e3a45febf695cbb4d1f02dc1e9d84c5224e52",
68
- "3.9.11": "10af2f3c3b5fb4f7247d43d176ffc8ef448b31c9",
69
- "3.9.10": "936fc25ac4e1b482a0cefa82dd6092a0c6b575e6",
70
- "3.9.9": "6274e5631c520d75bf1f0a046640fd3996fe99f0",
71
- "3.9.8": "8113655a4341a1008fe7388cbdf24aa9c7c6ae20",
72
- "3.9.7": "5208c1d1e0e859f42a9bdbb110efd0855ec4ecf1",
73
- "3.9.6": "05826c93a178872958f6685094ee3514e53ba653",
74
- "3.9.5": "edc80e5e33fc3d3fae53e6b95ae4ca9277809b9b",
75
- "3.9.4": "cfaa95ec3a15994b04c9c7ef1df1319056427e8d",
76
- "3.9.2": "110ca5bca7989f9558a54ee6762e6774a4b9644a",
77
- "3.9.1": "77f4105846f6740297e50d7535a42c02d6b8e7db",
78
- "3.9.0": "ff1fc8c37d5d4b09ec3bf0d84f3e5b97745c6704",
79
- "3.8.20": "88832fd164f0a7d1d0f4677b06960bb5ff15ff1d",
80
- "3.8.19": "eaadca9b5f89767b83c89266049042902681d029",
81
- "3.8.18": "4c5b3bdbfd5e899972d3ee06375fd96fe664dfe3",
82
- "3.8.17": "7bf662823ba44b56bbc1c4f3f802c0cdf3fbbfe5",
83
- "3.8.16": "006869b0011174fc0ce695c454010c21637b09bf",
84
- "3.8.15": "8fe5b42bc09df600d0cec750415b27f7802ae5e4",
85
- "3.8.14": "dced5c6d2a402eb79dddf3346210db23990b1ad0",
86
- "3.8.13": "fb46587353f092d91caeddb07f82bb66a5115468",
87
- "3.8.12": "7643eccc15f5606bd0dc04affc7ea901e417165d",
88
- "3.8.11": "1561060627fd171de19c53eb374cd92d2f297bff",
89
- "3.8.10": "f6579351d42a81c77b55aa4ca8b1280b4f5b37f9",
90
- "3.8.9": "ea40651135adc4126a60a45093d100722610f4de",
91
- "3.8.8": "d7dd8ef51ebe7ddd8ec41e39a607ac26d1834a8f",
92
- "3.8.7": "1b1525811ea4bcf237622e5f1751a4dfc429e3a3",
93
- "3.8.6": "6ee446eaacf901a3305565bd6569e2de135168e3",
94
- "3.8.5": "68d6c7f948801cc755905162f5ee7589595edee4",
95
- "3.8.4": "996c56496f4ddd8f18f388a3bd584b74d2b43928",
96
- "3.8.3": "3bafa40df1cd069c112761c388a9f2e94b5d33dd",
97
- "3.8.2": "5ae54baf26628a7ed74206650a31192e6d5c6f93",
98
- "3.8.1": "a48fd28a037c0bcd7b7fc4d914c023f584e910ed",
99
- "3.8.0": "7720e0384558c598107cf046c48165fd7e1f5b2c",
100
- "3.7.17": "7a08649e47214de75a6ecec91260286fdd94daf5",
101
- "3.7.16": "0cc857e03dbc91971190d170df48e4a64ce8941a",
102
- "3.7.15": "5ed83fdc6d4705090bd39d4b9f5424e37aac780d",
103
- "3.7.14": "86d51dea42675ccfe4a9d8d41e87c33757e91c64",
104
- "3.7.13": "2dfb44e36bfb9d93894fd9051952190441da47db",
105
- "3.7.12": "ea7ed19e3a7cb3867e32c602e25da0b2689a3e31",
106
- "3.7.11": "671e3fed4f3bb5a6663da0ae6691f0f8e9399427",
107
- "3.7.10": "847305e6b25f83b80096314fdfdfa7a8cc07016e",
108
- "3.7.9": "e1de02779a89a94000c0ed340ec126de25825f2f",
109
- "3.7.8": "ecfc1d291ab35bb7cc3a352dd9451450266f5974",
110
- "3.7.7": "7b6f9eec148c583a22a0666fe8eb5ec963ac57c4",
111
- "3.7.6": "93e76be2d874b6ad0abd57c15bab8debc211226a",
112
- "3.7.5": "860f88886809ae8bfc86afa462536811c347a2a1",
113
- "3.7.4": "a862c5a58626fdad02d2047a57771ede2783fcef",
114
- "3.7.3": "e3584650a06ae2765da0678176deae9d133f1b3d",
115
- "3.7.2": "c3dc6928516bcb934cf4740461044c79c7c35494",
116
- "3.7.1": "da290d6d24c68faeba502251cba111a1c8a5a9b2",
117
- "3.7.0": "653cffa5b9f2a28150afe4705600d2e55d89b564",
118
- "3.6.15": "fc7c36957c2cd228cc217bb5df4f580f1fdcd602",
119
- "3.6.14": "980845d74f9ca6a57999ac90c2ddb1fdffb7933a",
120
- "3.6.13": "4fa72f749446e907a5b80c0ae47ab03d890f14c8",
121
- "3.6.12": "e6a28b1ab47f079a659e24a40e4c416f52828682",
122
- "3.6.11": "0840e6b726446fccaef483dad84cce8fdc683077",
123
- "3.6.10": "781072e4726ff0c6dc9370dbfb9dd781d87987dc",
124
- "3.6.9": "3cd8b0e814b753fcce4fdf7edc823d8fb0da9208",
125
- "3.6.8": "ee55acedef049268307633cbc9c7ff0610d1244f",
126
- "3.6.7": "dd2b0a8bf9b9617c57a0070b53065286c2142994",
127
- "3.6.6": "5731cf379838023fc8c55491b4068c4404d0e34f",
128
- "3.6.5": "5a7a833a36f1006257d298787f4c38493c5d1689",
129
- "3.6.4": "36a90695cda9298a0663e667c12909246c358851",
130
- "3.6.3": "6c71b14bdbc4d8aa0cfd59d4b6dc356d46abfdf5",
131
- "3.6.2": "4f92a045de9231b93dfbed50c66bb12cf03ac59a",
132
- "3.6.1": "91d880a2a9fcfc6753cbfa132bf47a47e17e7b16",
133
- "3.6.0": "18ebf7d726782967d967dc00e3aa08b334fbdd5c",
134
- "3.5.10": "25c31d42fb8f8755de9358a53816ce4567b6bca9",
135
- "3.5.9": "4b62a14d8821e5761ef6b76876f45b50b85caa95",
136
- "3.5.8": "10d313aeb7f58e464528aa1b1f0104175841ca4d",
137
- "3.5.7": "743044e357e96ed8e49d709b502f1a9b815be763",
138
- "3.5.6": "05548da58ec75a7af316c4a4cb8fc667ac6ac8f9",
139
- "3.5.5": "66c4cfc0f64b545ee5a7725f26a2fd834cdf1682",
140
- "3.5.4": "4aacbd09ca6988255de84a98ab9e4630f584efba",
141
- "3.5.3": "127121fdca11e735b3686e300d66f73aba663e93",
142
- "3.5.2": "4843aabacec5bc0cdd3e1f778faa926e532794d2",
143
- "3.5.1": "0186da436db76776196612b98bb9c2f76acfe90e",
144
- "3.5.0": "871a06df9ab70984b7398ac53047fe125c757a70",
145
- "3.4.10": "68fe143c56d438343d4142a4953d607124e85ca2",
146
- "3.4.9": "83ea4018f6e5f1db87c4e54c8a48ba6a8350abd4",
147
- "3.4.8": "65d62d3f62ade072a84eb64eca4490b940c73542",
148
- "3.4.7": "7b05bf099f3f311ba568232d0d03d64e67da9908",
149
- "3.4.6": "ef7dbec63d45760701534990511d686e3acbbe4f",
150
- "3.4.5": "882e83e0286b253ee651aa3f9a5d27ebc46e6632",
151
- "3.4.4": "0e4c9265a2ab0004ac51f0010d47c22ef4c1640c",
152
- "3.4.3": "7ca5cd664598bea96eec105aa6453223bb6b4456",
153
- "3.4.2": "0727d8a8498733baabe6f51632b9bab0cbaa9ada",
154
- "3.4.1": "143e098efe7ee7bec8a4904ec4b322f28a067a03",
155
- "3.4.0": "f54d7cf6af5dbd9bddbe31cf4772f39711381dbe",
156
- "3.3.7": "efb00940efd558b9350a79fd9fd70551cdb35b20",
157
- "3.3.6": "0a86ae9e877467a62faed7ece208c0d6899b0991",
158
- "3.3.5": "6683b26dd2cfd23af852abfcf1aedf25bbd44839",
159
- "3.3.4": "2c9586eeb4b6e45e9ebc28372c0856c709d9a522",
160
- "3.3.3": "af4e75a34bd538c79b9871227c2e7f56569ac107",
161
- "3.3.2": "87009d0c156c6e1354dfec5c98c328cae93950ad",
162
- "3.3.1": "393d7302c48bc911cd7faa7fa9b5fbcb9919bddc",
163
- "3.3.0": "833d73565e1b665f1878504081dc985a5a06e46a",
164
- "3.2.6": "3fb8bf10e4df50629efd747adbc324e0084df9bb",
165
- "3.2.5": "616516c707e81f6e498e83b50a2b0f41b9dd3fe1",
166
- "3.2.4": "d5788113afaf9425d5c15f1a4b76f731553ec040",
167
- "3.2.3": "3d607dbcfdf100dd659978195ccf3ade9d221823",
168
- "3.2.2": "5e654dbd48476193ccdef4d604ed4f45b48c6769",
169
- "3.2.1": "ab5cf4a4c21abe590dea87473a1dee6820699d79",
170
- "3.2.0": "55a3a9d39f31563370d0c494373bb6d38e4d1a00",
171
- "3.1.5": "3fa78edeefd892a50b5f41bab018b51ecad0b56f",
172
- "3.1.4": "e5767a4fc92433816451de75c8721f2e1a81f6ea",
173
- "3.1.3": "eadb89fa63194167c6a80d49617d79491b21857b",
174
- "3.1.2": "130186b84e8bafce7f25dccdd6f9ab4929f5f474",
175
- "3.1.1": "499d77bc67f739880663f3aeab67dd973344a3dd",
176
- "3.1.0": "8590b685654367e3eba70dc00df7e45e88c21da4",
177
- "3.0.1": "9cde3918c0449f59e90b2e71f46a734ee84ae81e",
178
- "3.0.0": "c002b8ed67d9df8aaf9a391b3cfcd442dcff3334",
179
- "3.13.8": "00cb0597d6559f79ca24e1abf902aed81e6a13b3",
180
- "3.12.12": "dbe6dc34a132b1035c121583a9f37ba87458d0f5",
181
- "3.11.14": "dd6254e3a92978cb506e6303d1bb0db4dfff5b7f",
182
- "3.10.19": "a5606a32a67421dc62dd0f5b6d00d35c93bbdae4",
183
- "3.9.24": "32438f848084bf03a25d8514c9a396582f66e7be"
184
- },
185
- "dependencies": {
186
- "openssl": {
187
- "3.5.4": {
188
- "url": "https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz",
189
- "sha256": "",
190
- "platforms": [
191
- "linux",
192
- "darwin"
193
- ]
194
- },
195
- "3.6.0": {
196
- "url": "https://github.com/openssl/openssl/releases/download/openssl-{version}/openssl-{version}.tar.gz",
197
- "sha256": "b6a5f44b7eb69e3fa35dbf15524405b44837a481d43d81daddde3ff21fcbb8e9",
198
- "platforms": [
199
- "linux",
200
- "darwin"
201
- ]
202
- }
203
- },
204
- "sqlite": {
205
- "3.50.4.0": {
206
- "url": "https://sqlite.org/2025/sqlite-autoconf-{version}.tar.gz",
207
- "sha256": "a3db587a1b92ee5ddac2f66b3edb41b26f9c867275782d46c3a088977d6a5b18",
208
- "sqliteversion": "3500400",
209
- "platforms": [
210
- "linux",
211
- "darwin",
212
- "win32"
213
- ]
214
- }
215
- },
216
- "xz": {
217
- "5.8.1": {
218
- "url": "http://tukaani.org/xz/xz-{version}.tar.gz",
219
- "sha256": "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543",
220
- "platforms": [
221
- "linux",
222
- "darwin"
223
- ]
224
- }
225
- },
226
- "libffi": {
227
- "3.5.2": {
228
- "url": "https://github.com/libffi/libffi/releases/download/v{version}/libffi-{version}.tar.gz",
229
- "sha256": "f3a3082a23b37c293a4fcd1053147b371f2ff91fa7ea1b2a52e335676bac82dc",
230
- "platforms": [
231
- "linux"
232
- ]
233
- }
234
- },
235
- "zlib": {
236
- "1.3.1": {
237
- "url": "https://zlib.net/fossils/zlib-{version}.tar.gz",
238
- "sha256": "9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23",
239
- "platforms": [
240
- "linux"
241
- ]
242
- }
243
- },
244
- "ncurses": {
245
- "6.5": {
246
- "url": "https://mirrors.ocf.berkeley.edu/gnu/ncurses/ncurses-{version}.tar.gz",
247
- "sha256": "136d91bc269a9a5785e5f9e980bc76ab57428f604ce3e5a5a90cebc767971cc6",
248
- "platforms": [
249
- "linux"
250
- ]
251
- }
252
- },
253
- "readline": {
254
- "8.3": {
255
- "url": "https://mirrors.ocf.berkeley.edu/gnu/readline/readline-{version}.tar.gz",
256
- "sha256": "fe5383204467828cd495ee8d1d3c037a7eba1389c22bc6a041f627976f9061cc",
257
- "platforms": [
258
- "linux"
259
- ]
260
- }
261
- },
262
- "gdbm": {
263
- "1.26": {
264
- "url": "https://mirrors.ocf.berkeley.edu/gnu/gdbm/gdbm-{version}.tar.gz",
265
- "sha256": "6a24504a14de4a744103dcb936be976df6fbe88ccff26065e54c1c47946f4a5e",
266
- "platforms": [
267
- "linux"
268
- ]
269
- }
270
- },
271
- "libxcrypt": {
272
- "4.4.38": {
273
- "url": "https://github.com/besser82/libxcrypt/releases/download/v{version}/libxcrypt-{version}.tar.xz",
274
- "sha256": "80304b9c306ea799327f01d9a7549bdb28317789182631f1b54f4511b4206dd6",
275
- "platforms": [
276
- "linux"
277
- ]
278
- }
279
- },
280
- "krb5": {
281
- "1.22": {
282
- "url": "https://kerberos.org/dist/krb5/{version}/krb5-{version}.tar.gz",
283
- "sha256": "652be617b4647f3c5dcac21547d47c7097101aad4e306f1778fb48e17b220ba3",
284
- "platforms": [
285
- "linux"
286
- ]
287
- }
288
- },
289
- "bzip2": {
290
- "1.0.8": {
291
- "url": "https://sourceware.org/pub/bzip2/bzip2-{version}.tar.gz",
292
- "sha256": "ab5a03176ee106d3f0fa90e381da478ddae405918153cca248e682cd0c4a2269",
293
- "platforms": [
294
- "linux",
295
- "darwin"
296
- ]
297
- }
298
- },
299
- "uuid": {
300
- "1.0.3": {
301
- "url": "https://sourceforge.net/projects/libuuid/files/libuuid-{version}.tar.gz",
302
- "sha256": "46af3275291091009ad7f1b899de3d0cea0252737550e7919d17237997db5644",
303
- "platforms": [
304
- "linux"
305
- ]
306
- }
307
- },
308
- "tirpc": {
309
- "1.3.7": {
310
- "url": "https://sourceforge.net/projects/libtirpc/files/libtirpc-{version}.tar.bz2",
311
- "sha256": "b47d3ac19d3549e54a05d0019a6c400674da716123858cfdb6d3bdd70a66c702",
312
- "platforms": [
313
- "linux"
314
- ]
315
- }
316
- },
317
- "expat": {
318
- "2.7.3": {
319
- "url": "https://github.com/libexpat/libexpat/releases/download/R_2_7_3/expat-2.7.3.tar.xz",
320
- "sha256": "71df8f40706a7bb0a80a5367079ea75d91da4f8c65c58ec59bcdfbf7decdab9f",
321
- "platforms": [
322
- "linux",
323
- "darwin",
324
- "win32"
325
- ]
326
- }
327
- }
328
- }
329
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes