5
5
use {
6
6
anyhow:: Result ,
7
7
once_cell:: sync:: Lazy ,
8
+ semver:: VersionReq ,
8
9
std:: {
9
10
collections:: BTreeMap ,
10
11
io:: { BufRead , Read , Write } ,
@@ -18,6 +19,8 @@ pub struct TripleRelease {
18
19
pub suffixes : Vec < & ' static str > ,
19
20
/// Build suffix to use for the `install_only` artifact.
20
21
pub install_only_suffix : & ' static str ,
22
+ /// Minimum Python version this triple is released for.
23
+ pub python_version_requirement : Option < VersionReq > ,
21
24
}
22
25
23
26
pub static RELEASE_TRIPLES : Lazy < BTreeMap < & ' static str , TripleRelease > > = Lazy :: new ( || {
@@ -30,13 +33,15 @@ pub static RELEASE_TRIPLES: Lazy<BTreeMap<&'static str, TripleRelease>> = Lazy::
30
33
TripleRelease {
31
34
suffixes : macos_suffixes. clone ( ) ,
32
35
install_only_suffix : "pgo+lto" ,
36
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
33
37
} ,
34
38
) ;
35
39
h. insert (
36
40
"x86_64-apple-darwin" ,
37
41
TripleRelease {
38
42
suffixes : macos_suffixes,
39
43
install_only_suffix : "pgo+lto" ,
44
+ python_version_requirement : None ,
40
45
} ,
41
46
) ;
42
47
@@ -47,13 +52,15 @@ pub static RELEASE_TRIPLES: Lazy<BTreeMap<&'static str, TripleRelease>> = Lazy::
47
52
TripleRelease {
48
53
suffixes : windows_suffixes. clone ( ) ,
49
54
install_only_suffix : "shared-pgo" ,
55
+ python_version_requirement : None ,
50
56
} ,
51
57
) ;
52
58
h. insert (
53
59
"x86_64-pc-windows-msvc" ,
54
60
TripleRelease {
55
61
suffixes : windows_suffixes,
56
62
install_only_suffix : "shared-pgo" ,
63
+ python_version_requirement : None ,
57
64
} ,
58
65
) ;
59
66
@@ -66,6 +73,7 @@ pub static RELEASE_TRIPLES: Lazy<BTreeMap<&'static str, TripleRelease>> = Lazy::
66
73
TripleRelease {
67
74
suffixes : linux_suffixes_nopgo. clone ( ) ,
68
75
install_only_suffix : "lto" ,
76
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
69
77
} ,
70
78
) ;
71
79
@@ -74,6 +82,7 @@ pub static RELEASE_TRIPLES: Lazy<BTreeMap<&'static str, TripleRelease>> = Lazy::
74
82
TripleRelease {
75
83
suffixes : linux_suffixes_pgo. clone ( ) ,
76
84
install_only_suffix : "pgo+lto" ,
85
+ python_version_requirement : None ,
77
86
} ,
78
87
) ;
79
88
@@ -82,55 +91,63 @@ pub static RELEASE_TRIPLES: Lazy<BTreeMap<&'static str, TripleRelease>> = Lazy::
82
91
TripleRelease {
83
92
suffixes : linux_suffixes_pgo. clone ( ) ,
84
93
install_only_suffix : "pgo+lto" ,
94
+ python_version_requirement : None ,
85
95
} ,
86
96
) ;
87
97
h. insert (
88
98
"x86_64_v2-unknown-linux-gnu" ,
89
99
TripleRelease {
90
100
suffixes : linux_suffixes_pgo. clone ( ) ,
91
101
install_only_suffix : "pgo+lto" ,
102
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
92
103
} ,
93
104
) ;
94
105
h. insert (
95
106
"x86_64_v3-unknown-linux-gnu" ,
96
107
TripleRelease {
97
108
suffixes : linux_suffixes_pgo. clone ( ) ,
98
109
install_only_suffix : "pgo+lto" ,
110
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
99
111
} ,
100
112
) ;
101
113
h. insert (
102
114
"x86_64_v4-unknown-linux-gnu" ,
103
115
TripleRelease {
104
116
suffixes : linux_suffixes_nopgo. clone ( ) ,
105
117
install_only_suffix : "lto" ,
118
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
106
119
} ,
107
120
) ;
108
121
h. insert (
109
122
"x86_64-unknown-linux-musl" ,
110
123
TripleRelease {
111
124
suffixes : linux_suffixes_nopgo. clone ( ) ,
112
125
install_only_suffix : "lto" ,
126
+ python_version_requirement : None ,
113
127
} ,
114
128
) ;
115
129
h. insert (
116
130
"x86_64_v2-unknown-linux-musl" ,
117
131
TripleRelease {
118
132
suffixes : linux_suffixes_nopgo. clone ( ) ,
119
133
install_only_suffix : "lto" ,
134
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
120
135
} ,
121
136
) ;
122
137
h. insert (
123
138
"x86_64_v3-unknown-linux-musl" ,
124
139
TripleRelease {
125
140
suffixes : linux_suffixes_nopgo. clone ( ) ,
126
141
install_only_suffix : "lto" ,
142
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
127
143
} ,
128
144
) ;
129
145
h. insert (
130
146
"x86_64_v4-unknown-linux-musl" ,
131
147
TripleRelease {
132
148
suffixes : linux_suffixes_nopgo. clone ( ) ,
133
149
install_only_suffix : "lto" ,
150
+ python_version_requirement : Some ( VersionReq :: parse ( ">=3.9" ) . unwrap ( ) ) ,
134
151
} ,
135
152
) ;
136
153
0 commit comments